Submission #531794

#TimeUsernameProblemLanguageResultExecution timeMemory
531794makanhuliaCarnival (CEOI14_carnival)C++17
0 / 100
15 ms200 KiB
#include <bits/stdc++.h> using namespace std; int ask(int x, int y){ int in; cout << "2 " << x << " " << y << endl; cin >> in; return in; } int main(){ int n; cin >> n; cout << n << " "; for(int i = 1; i <= n; i++) cout << i << " "; cout << endl; int costumes; cin >> costumes; int lc = 1; int c[n + 1], p[costumes + 1]; memset(p, -1, sizeof(p)); memset(c, -1, sizeof(c)); c[1] = 1; p[1] = 1; for(int i = 2; i <= n; i++){ int tmp = ask(i - 1, i); if(tmp == 1) c[i] = c[i - 1]; else{ for(int j = 1; j <= costumes; j++){ if(p[j] == -1 || p[j] == i - 1) continue; tmp = ask(i, p[j]); if(tmp == 1){ c[i] = c[j]; break; } } if(c[i] == -1){ lc++; c[i] = lc; p[lc] = i; } } } cout << "0 "; for(int i = 1; i <= n; i++) cout << c[i] << " "; cout << endl; return 0; } //1 2 3 4 3 //first we need to know how many different costumes exist //bfta - brute force the answer //yus
#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...