Submission #730501

#TimeUsernameProblemLanguageResultExecution timeMemory
730501grossly_overconfidentGame (APIO22_game)C++17
2 / 100
1 ms208 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; vector<int> la, sd; int n, k; int par(vector<int>& p, int i){ //cout << i << endl; if (i == p[i]){ return i; } return par(p, p[i]); } int solvesmaller(int a, int b){ if (a >= k){ return b; } if (b >= k){ return a; } return min(a, b); } int solvelarger(int a, int b){ if (a >= k){ return b; } if (b >= k){ return a; } return max(a, b); } void init(int N, int K) { n = N; k = K; la.resize(n); sd.resize(n); iota(la.begin(), la.end(), 0); iota(sd.begin(), sd.end(), 0); } int add_teleporter(int u, int v) { if (u < k && v < k){ if (u >= v){ return 1; } } sd[par(sd, u)] = solvesmaller(par(sd, v), par(sd, u)); la[par(la, v)] = solvelarger(par(la, v), par(la, u)); if (par(sd, u) <= par(la, u) && par(sd, u) < k && par(la, u) < k && u >= k){ return 1; } if (par(sd, v) <= par(la, v) && par(sd, v) < k && par(la, v) < k && v >= k){ return 1; } return 0; } int nothing() { int n, k; cin >> n >> k; init(n, k); int m = 0; while (m != 1){ int a, b; cin >> a >> b; m = add_teleporter(a, b); cout << m << 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...