General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
188394824 Practice:
DaiRuiChen007
1521C - 42 C++14 (GCC 6-32) Accepted 343 ms 228 KB 2023-01-08 10:52:27 2023-01-08 10:52:27
→ Source
// LUOGU_RID: 99029786
#include<bits/stdc++.h>
using namespace std;
inline int read(int t,int i,int j,int x) {
	cout<<"? "<<t<<" "<<i<<" "<<j<<" "<<x<<endl;
	int ret; cin>>ret; return ret;
}
const int MAXN=1e4+1;
int p[MAXN],val[MAXN];
inline void solve() {
	int n,pos=0;
	cin>>n;
	vector <int> ch;
	for(int i=1;i<n;i+=2) {
		val[i]=read(2,i,i+1,1);
		if(val[i]<=2) ch.push_back(i);
	}
	if(n%2==1) {
		val[n-1]=read(2,n-1,n,1);
		if(val[n-1]<=2) ch.push_back(n-1);
	}
	for(int x:ch) {
		val[x+1]=read(2,x+1,x,1);
		if(val[x]==1) {
			pos=x;
			break;
		}
		if(val[x+1]==1) {
			pos=x+1;
			break;
		}
	}
	p[pos]=1;
	for(int i=1;i<=n;++i) {
		if(i==pos) continue;
		p[i]=read(1,pos,i,n-1);
	}
	cout<<"! ";
	for(int i=1;i<=n;++i) cout<<p[i]<<" ";
	cout<<endl;
}
signed main() {
	int T;
	cin>>T;
	while(T--) solve();
	return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details