#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int parent[157];
vector<int> mp;
int findpar(int x){
if(parent[x]==x) return x;
return x=findpar(parent[x]);
}
signed main(){
int n; cin >> n;
for(int i=1;i<=n;++i) parent[i]=i;
for(int i=1;i<=n;++i){
for(int j=i+1;j<=n;++j){
cout << 2 << " " << i << " " << j << endl;
fflush(stdout);
int tmp; cin >> tmp;
if(tmp==1){
parent[findpar(i)]=findpar(j);
}
}
}
cout << 0 << " ";
for(int i=1;i<=n;++i){
if(find(mp.begin(),mp.end(),findpar(i))==mp.end()){
mp.push_back(findpar(i));
}
}
for(int i=1;i<=n;++i){
cout << find(mp.begin(),mp.end(),findpar(i))-mp.begin()+1 << " ";
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |