#include "bits/stdc++.h"
using namespace std;
#define int long long
#define vec vector
#define all(x) (x).begin(), (x).end()
#define X first
#define Y second
using pii = pair<int, int>;
pii operator+(const pii &a, const pii &b) {
return {a.X + b.X, a.Y + b.Y};
}
pii operator-(const pii &a, const pii &b) {
return {a.X - b.X, a.Y - b.Y};
}
pii operator*(const pii &a, const int &b) {
return {a.X * b, a.Y * b};
}
signed main() {
int n; cin >> n;
vec<pair<pii, pii>> a(n);
for (int i = 0; i < n; i++) {
int x, y;
char c;
cin >> x >> y >> c;
pii dir;
if (c == 'N') dir = { 0, -1};
if (c == 'S') dir = { 0, 1};
if (c == 'E') dir = { 1, 0};
if (c == 'W') dir = {-1, 0};
a[i] = {{x, y}, dir};
}
if (n == 2) {
auto x = a[0].X;
auto y = a[1].X;
if (abs(x.X - y.X) == abs(x.Y - y.Y)) {
int dist = abs(x.X - y.X);
if (x + a[0].Y * dist == y + a[1].Y * dist) {
cout << 0 << endl;
return 0;
}
}
cout << 2 << endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |