# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1236644 | em4ma2 | 사육제 (CEOI14_carnival) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
#define pb push_back
#define ll long long
const int off=1<<19;
const int inf=1e9+4;
const int mxsz=2e5+4;
int q(int k,vector<int>a){
cout<<k<<" ";
for (auto x:a){
cout<<x<<" ";
}
int x=0;
if (k!=0){
cin>>x;
}
return x;
}
int main(){
int n;
cin>>n;
int x;
int cnt=1;
vector<int>adj[n+1];
vector<int>ans(n+1);
for (int i=1;i<=n;i++){
for (int j=i+1;j<=n;j++){
vector<int>a;
a.pb(i);
a.pb(j);
x=q(2,a);
if (x==1){
if (cnt==1){
ans[i]=1;
cnt++;
}
adj[i].pb(j);
}
}
}
for (int i=1;i<=n;i++){
if (ans[i]==0){
ans[i]=cnt;
cnt++;
}
for (auto x:adj[i]){
ans[x]=ans[i];
}
}
q(0,ans);
return 0;
}