Submission #1333822

#TimeUsernameProblemLanguageResultExecution timeMemory
1333822sporknivesLaser Strike (EGOI25_laserstrike)C++20
8 / 100
4 ms432 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int P, N;
    cin >> P >> N;
    if (P == 1) {
        vector<int> a(N - 1);
        vector<int> b(N - 1);
        vector<int> adj[N]; 
        for (int i = 0; i < N - 1; ++i) {
            cin >> a[i] >> b[i];
            adj[a[i]].push_back(b[i]);
            adj[b[i]].push_back(a[i]);
        }
		
        string message = "";
        vector<int> l;
        
        for(int i=0;i<N;i++) {
			if(adj[i].size()==1) {
				int x = adj[i][0];
				l.push_back(i);
				if(message.length()==0) {
					if(i>x)message+="1";
					else message+="0";
				}
			}
		}

        cout << message << endl;
        for (int i = 0; i < N - 1; ++i) {
            cout << l[i] << endl;
        }
    } else {
        cin.ignore(100, '\n');
        string message;
        getline(cin, message);
		
		int a,b; cin>>a>>b;
		int center;
		bool guess_a = true;
		if(message=="1") {
			guess_a = false;
			center=a;
		}
		else {
			guess_a=true;
			center=b;
		}
		
		if (guess_a) {
			cout << a << endl;
		} else {
			cout << b << endl;
		}
            
        for (int i = 1; i < N - 1; ++i) {
            int a, b;
            cin >> a >> b;
			bool guess_a = true;
			if(a==center) guess_a=false;
			else guess_a=true;
            if (guess_a) {
                cout << a << endl;
            } else {
                cout << b << endl;
            }
        }
    }
    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...