ABC025B - 双子とスイカ割り
問題:B - 双子とスイカ割り
#include <cstdio> #include <iostream> #include <string> using namespace std; #define REP(i, n) for (int i = 0; i < (n); ++i) int getDis(int a, int b, int d) { if (d < a) { return a; } if (b < d) { return b; } return d; } int getDir(string x_dir) { if (x_dir == "East") { return 1; } else if (x_dir == "West") { return -1; } return 0; } int main(void) { int n, a, b, d, x = 0; string s; scanf ("%d %d %d", &n, &a, &b); REP(i, n) { cin >> s >> d; x += getDis(a, b, d) * getDir(s); } if (x > 0) { printf ("East %d\n", x); } else if (x < 0) { printf ("West %d\n", x * (-1)); } else { printf ("0\n"); } return 0; }