题解:P17854 [LBA-OI R6 B] 凌云沐雨
设隐藏排列为
现在考虑把位置
由于前
也就是说,询问返回值就是
从
::::info[code]
#include<bits/stdc++.h>
using namespace std;
const int maxn=1010;
int n,k;
int ans[maxn];
int id[maxn];
int main(){
cin>>n>>k;
id[1]=1;
for(int len=2;len<=n;len++){
cout<<"? "<<len;
for(int i=1;i<len;i++)
cout<<' '<<id[i];
cout<<' '<<len<<endl;
int ret;
cin>>ret;
for(int i=len;i>ret;i--)
id[i]=id[i-1];
id[ret]=len;
}
for(int i=1;i<=n;i++)
ans[id[i]]=i;
cout<<"!";
for(int i=1;i<=n;i++)
cout<<' '<<ans[i];
return 0;
}
::::