186882025-10-30 21:31:39algoproTaláld ki a permutációt!cpp17Belső hiba
// UUID: 7d478680-2fa9-4093-a0b0-072206d80f81
#include <bits/stdc++.h>

using namespace std;
int n;
int msb[1005],sol[1005];
int ask(int a,int b)
{
	cout<<"? "<<a<<' '<<b<<endl;
	int ans;
	cin>>ans;
	return ans;
}
int main()
{
	cin>>n;
	int maxim=0;
	for(int i=1;i<=n;i++)
	{
		int x=ask(i,i);
		msb[i]=x;
		maxim=max(maxim,msb[i]);
	}
	for(int bit=0;bit<=maxim;bit++)
	{
		int who=0;
		for(int i=1;i<=n;i++)
			if(msb[i]==bit)
			{
				who=i;
				break;
			}
		for(int i=1;i<=n;i++)
		{
			int x=ask(who,i);
			if(x==bit)
				sol[i]+=(1<<bit);
		}
	}
	cout<<"! ";
	for(int i=1;i<=n;i++)
		cout<<sol[i]<<' ';
	cout<<endl;
	return 0;
}