Submission #1180261

#TimeUsernameProblemLanguageResultExecution timeMemory
1180261coco2311Carnival (CEOI14_carnival)C++17
20 / 100
23 ms408 KiB
#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 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...