제출 #1227149

#제출 시각아이디문제언어결과실행 시간메모리
1227149justNaval battle (CEOI24_battle)C++20
0 / 100
104 ms6468 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...