Submission #1227185

#TimeUsernameProblemLanguageResultExecution timeMemory
1227185dreamxhavaNaval battle (CEOI24_battle)C++20
0 / 100
3093 ms3652 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;

    vector<long long> x(n), y(n);
    vector<char> d(n);
    vector<bool> c(n, true);
    vector<bool> collided(n, false);

    for (int i = 0; i < n; i++) {
        cin >> x[i] >> y[i] >> d[i];
    }

    long long xmax = *max_element(x.begin(), x.end());
    long long ymax = *max_element(y.begin(), y.end());

    bool simulationRunning = true;

    while (simulationRunning) {
        simulationRunning = false;

        for (int i = 0; i < n; i++) {
            if (!c[i]) continue;

            if (d[i] == 'N') y[i] -= 2;
            else if (d[i] == 'S') y[i] += 2;
            else if (d[i] == 'E') x[i] += 2;
            else if (d[i] == 'W') x[i] -= 2;

            if (x[i] > xmax || x[i] < 0 || y[i] > ymax || y[i] < 0) {
                c[i] = false;
                continue;
            }

            simulationRunning = true;
        }

        for (int i = 0; i < n; i++) {
            if (!c[i]) continue;
            for (int j = i + 1; j < n; j++) {
                if (!c[j]) continue;
                if (x[i] == x[j] && y[i] == y[j]) {
                    collided[i] = true;
                    collided[j] = true;
                    c[i] = false;
                    c[j] = false;
                }
            }
        }
    }

    for (int i = 0; i < n; i++) {
        if(collided[i]==0){
            cout<<i+1<<"\n";       }
    }

    return 0;
}
#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...