QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#846064#9804. Guess the PolygonwindcityWA 1ms3880kbC++14839b2025-01-06 21:33:172025-01-06 21:33:22

Judging History

This is the latest submission verdict.

  • [2025-01-06 21:33:22]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3880kb
  • [2025-01-06 21:33:17]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
inline long double query(int x,int y){
	printf("? %d %d\n",x,y);
	fflush(stdout);
	long double a,b;
	scanf("%Lf%Lf",&a,&b);
	return  a*1.0/b;
}
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		int n;
		scanf("%d",&n);
		vector<int> v(n);
		for(register int i=0;i<n;++i){
			int y;scanf("%d%d",&v[i],&y);
		}
		sort(v.begin(),v.end());
		v.erase(unique(v.begin(),v.end()),v.end());
		long double ans=0.0;
		if((int)v.size()<n){
			for(register int i=0;i+1<v.size();++i)
			    ans+=1.0*(v[i+1]-v[i])*query(v[i+1]+v[i],2)*2;
		}
		else{
			for(register int i=1;i+1<v.size();++i)
			    ans+=1.0*(v[i+1]-v[i-1])*query(v[i],1)*2;
		}
		int sum=llround(ans);
		if(sum&1)printf("! %d 2\n",sum);
		else printf("! %d 1\n",sum/2);
		fflush(stdout);
	}
	return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3880kb

input:

2
4
3 0
1 3
1 1
0 0
1 1
1 1
3
0 0
999 1000
1000 999
1999 1000

output:

? 1 2
? 4 2
! 3 1
? 999 1
! 1999 1

result:

wrong answer the answer is incorrect, expect: 1999/2, find: 1999/1 (test case 2)