之前做了一道交互题,算是学习一下非传统题的套路吧
http://codeforces.com/contest/727/problem/C
#include <cstdio> using namespace std; int n,a[5050],x[5050],ans; int main(){ scanf("%d",&n); for (int i=2;i<=n;i++){ printf("? 1 %d\n",i); fflush(stdout); scanf("%d",&x[i-1]); } printf("? 2 3\n"); fflush(stdout); scanf("%d",&x[n]); a[2]=(x[1]-x[2]+x[n])/2; a[3]=x[n]-a[2]; a[1]=x[1]-a[2]; for (int i=4;i<=n;i++) a[i]=x[i-1]-a[1]; printf("! "); for (int i=1;i<n;i++) printf("%d ",a[i]); printf("%d\n",a[n]); return 0; }