#include <iostream>
using namespace std;
int parent[150];
int N;
void endE(){
int occ[N];
int cnt=1;
for(int i=0;i<N;i++){
if(parent[i]==i){
occ[i]=cnt;
cnt++;
}
else{
occ[i]=occ[parent[i]];
}
}
cout<<0;
for(int i=0;i<N;i++){
cout<<" "<<occ[i];
}
cout<<endl;
}
int main(){
// ios::sync_with_stdio(false);cin.tie();cout.tie();
cin>>N;
cout<<N;
for(int i=0;i<N;i++){
parent[i]=i;
cout<<" "<<i+1;
}
cout<<endl;
int tN;cin>>tN;
int cN=N;
if(tN==cN){
cout<<0;
for(int i=0;i<N;i++){
cout<<" "<<i+1;
}
cout<<endl;
return 0;
}
int res;
for(int i=0;i<N;i++){
if(parent[i]!=i)continue;
for(int j=i+1;j<N;j++){
if(parent[j]!=j)continue;
cout<<2<<" "<<i+1<<" "<<j+1<<endl;
cin>>res;
if(res==1){
parent[j]=parent[i];
cN--;
if(cN==tN){
endE();
return 0;
}
}
}
}
}
# | 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... |