제출 #47428

#제출 시각아이디문제언어결과실행 시간메모리
47428TAMREFCarnival (CEOI14_carnival)C++11
20 / 100
102 ms584 KiB
#include <bits/stdc++.h>
using namespace std;

const int mx = 155;

int rep[mx];
int n;

int f(int x){return x == rep[x] ? x : rep[x] = f(rep[x]);}
void c(int x, int y){
    x = f(x), y = f(y);
    rep[y] = x;
}

void init(){
    cin >> n;
    iota(rep+1,rep+n+1,1);
}
void naive(){
    int q;
    for(int i = 1; i <= n; i++){
        for(int j = i + 1; j <= n; j++){
            if(f(i) != f(j)){
                cout << 2 << ' ';
                cout << f(i) << ' ' << f(j) << endl;
                cin >> q;
                if(q == 1) c(i,j);
            }
        }
    }

    map<int,int> M;
    for(int i = 1; i <= n; i++){
        if(!M[f(i)]){
            M[f(i)] = -1;
            M[f(i)] = M.size();
        }
    }
    cout << 0;
    for(int i = 1; i <= n; i++){
        cout << ' ' << M[f(i)];
    }
    cout << endl;
}

int main(){
    init();
    naive();
}
#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...