문제
링크
풀이
#include <algorithm>
#include <iostream>
#define INF 1e18
using namespace std;
void solve(void) {
int n; cin >> n;
long long x_min = INF, x_max = -INF, y_max = -INF, y_min = INF;
while (n--) {
long long x, y; char d; cin >> x >> y >> d;
switch (d) {
case 'L': x_min = min(x_min, x); break;
case 'R': x_max = max(x_max, x); break;
case 'U': y_max = max(y_max, y); break;
case 'D': y_min = min(y_min, y); break;
}
}
if (x_min == INF || x_max == -INF || y_min == INF || y_max == -INF) {
cout << "Infinity";
} else {
cout << (x_min-x_max-1) * (y_min-y_max-1);
}
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
return 0;
}