QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#383901 | #1813. Joy with Permutations | Crysfly | WA | 0ms | 3584kb | C++17 | 1.8kb | 2024-04-09 18:38:19 | 2024-04-09 18:57:26 |
Judging History
answer
// what is matter? never mind.
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,sse4,popcnt,abm,mmx,avx,avx2")
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
//#define int long long
#define ull unsigned long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
char c=getchar();int x=0;bool f=0;
for(;!isdigit(c);c=getchar())f^=!(c^45);
for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
if(f)x=-x;return x;
}
#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,int>pii;
typedef vector<int>vi;
#define maxn 2000005
#define inf 0x3f3f3f3f
int n,res[maxn];
vi p,q;
int Q(vi o){
cout<<"? "<<1<<" ";
for(int x:o)cout<<x<<" ";
cout<<endl;
int x;cin>>x;return x;
}
signed main()
{
cin>>n;
vi w;
For(i,1,4){
vi o;
For(j,1,4) if(i!=j) o.pb(j);
w.pb(Q(o));
}
vi p={1,2,3,4};
sort(ALL(p),[&](int x,int y){return w[x]>w[y];});
int a,b,c,d,l,r;
// [a,b]=(l),[c,d]=(r)
a=p[0],b=p[1],c=p[2],d=p[3];
r=w[a],l=w[d];
For(i,4,n){
int x=Q({a,c,i});
if(x>l && x<r) {
res[i]=x;
continue;
}
if(x<=l){
if(x<l) res[b]=l,b=i;
else res[a]=l,a=i;
l=Q({a,b,c});
}else{
if(x>r) res[d]=r,d=i;
else res[c]=l,c=i;
r=Q({a,c,d});
}
}
cout<<"? "<<2<<" "<<a<<" "<<b<<endl;
int x;cin>>x;
if(x==a) res[a]=1,res[b]=2;
else res[a]=2,res[b]=1;
cout<<"? "<<2<<" "<<c<<" "<<d<<endl;
cin>>x;
if(x==c) res[c]=n-1,res[d]=n;
else res[c]=n,res[d]=n-1;
cout<<"! ";For(i,1,n)cout<<res[i]<<" "; cout<<endl;
return 0;
}
/*
1 2 3
*/
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3584kb
input:
5 4 3 3 4 4
output:
? 1 2 3 4 ? 1 1 3 4 ? 1 1 2 4 ? 1 1 2 3 ? 1 3 2 4 ? 1 3 4 4
result:
wrong answer invalid query