Submission #1333735

#TimeUsernameProblemLanguageResultExecution timeMemory
1333735ensonLaser Strike (EGOI25_laserstrike)C++20
9 / 100
5 ms464 KiB
#include <bits/stdc++.h>
using namespace std;

signed main(){
    int P, N;
    cin >> P >> N;
    if (P == 1){
        vector<int>adjlist[N];
        int a, b;
        for(int i = 0; i < N-1; i++){
            cin >> a >> b;
            adjlist[a].push_back(b);
            adjlist[b].push_back(a);
        }
        int c = -1;
        for(int i = 0; i < N; i++){
            if (adjlist[i].size() == 1) c = i;
        }
        if (c > adjlist[c][0]) cout << 1 << endl;
        else cout << 0 << endl;
        bool V[N] = {false};
        V[c] = true;
        cout << c << endl;
        for(int i = 0; i < N-2; i++){
            if (!V[adjlist[c][0]]){
                V[adjlist[c][0]] = true;
                c = adjlist[c][0];
            } else {
                V[adjlist[c][1]] = true;
                c = adjlist[c][1];
            }
            cout << c << endl;
        }
    } else {
        int a, b, c;
        cin >> c;
        cin >> a >> b;
        int prev;
        if (((a > b) && c) || (a < b) && !c){
            cout << a << endl;
            prev = b;
        } else {
            cout << b << endl;
            prev = a;
        }
        for(int i = 0; i < N-2; i++){
            cin >> a >> b;
            if (a == prev){
                cout << a << endl;
                prev = b;
            } else {
                cout << b << endl;
                prev = a;
            }
        }
    }
}
#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...