Submission #317962

#TimeUsernameProblemLanguageResultExecution timeMemory
317962nandonathaniel사육제 (CEOI14_carnival)C++14
20 / 100
246 ms384 KiB
#include<bits/stdc++.h> using namespace std; int par[155],ans[155]; vector<int> kel[155]; int find(int x){ if(par[x]==x)return x; return par[x]=find(par[x]); } void join(int x,int y){ par[find(x)]=find(y); } int main(){ int n,x; cin >> n; for(int i=1;i<=n;i++)par[i]=i; for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ cout << 2 << " " << i << " " << j << endl; cin >> x; if(x==1)join(i,j); } } for(int i=1;i<=n;i++)kel[find(i)].push_back(i); int no=0; for(int i=1;i<=n;i++){ if(kel[i].empty())continue; no++; for(auto isi : kel[i])ans[isi]=no; } cout << 0; for(int i=1;i<=n;i++)cout << " " << ans[i]; cout << 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...