제출 #1188376

#제출 시각아이디문제언어결과실행 시간메모리
1188376rendelCarnival (CEOI14_carnival)C++20
20 / 100
25 ms436 KiB
#include<bits/stdc++.h>
using namespace std;
int p[151],c[151];

int f(int u){
    if(p[u]==u) return u;
    return p[u]=f(p[u]);
}

int main(){
    cin.tie(nullptr)->sync_with_stdio(false); cout.tie(0);

    int n; cin >> n;
    for(int i=1;i<=n;++i) p[i]=i;
    for(int i=1;i<n;++i){
        for(int j=i+1;j<=n;++j){
            int x=f(p[i]),y=f(p[j]);
            if(x==y) continue;
            cout << 2 << ' ' << i << ' ' << j << endl;
            int b; cin >> b;
            if(b==1){
                int x=f(p[i]),y=f(p[j]);
                if(x!=y) p[x]=y;
            }
        }
    }
    
    cout << 0 << ' ';
    int cnt=0;
    for(int i=1;i<=n;++i){
        int j=f(p[i]);
        if(!c[j]) c[j]=++cnt;
        
        cout << c[j] << ' ';
    }
}
#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...