제출 #531809

#제출 시각아이디문제언어결과실행 시간메모리
531809makanhulia사육제 (CEOI14_carnival)C++17
20 / 100
104 ms288 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] = 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; } // 2 1 2 3 1 //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...