Submission #121725

# Submission time Handle Problem Language Result Execution time Memory
121725 2019-06-27T03:14:32 Z samjia2000 Worm Worries (BOI18_worm) C++14
59 / 100
721 ms 388 KB
#include<bits/stdc++.h>

#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)

using namespace std;

typedef double db;
typedef long long LL;

int get(){
	char ch;
	while(ch=getchar(),(ch<'0'||ch>'9')&&ch!='-');
	if (ch=='-'){
		int s=0;
		while(ch=getchar(),ch>='0'&&ch<='9')s=s*10+ch-'0';
		return -s;
	}
	int s=ch-'0';
	while(ch=getchar(),ch>='0'&&ch<='9')s=s*10+ch-'0';
	return s;
}

typedef unsigned int ui;

ui seed;
ui getrand(){seed^=seed<<13;seed^=seed>>17;seed^=seed<<5;return seed;}

int fx[6][3]={{0,0,-1},{0,0,1},{1,0,0},{-1,0,0},{0,1,0},{0,-1,0}};

int main(){
	int n=get(),m=get(),k=get();
	int q=get();
	seed=845125457;
	int x,y,z,val=-1;
	fo(i,1,q/2){
		int px=getrand()%n+1,py=getrand()%m+1,pz=getrand()%k+1;
		printf("? %d %d %d\n",px,py,pz);
		fflush(stdout);
		int ret=0;
		scanf("%d",&ret);
		if (val<ret){
			x=px,y=py,z=pz;
			val=ret;
		}
	}
	for(;1;){
		bool cg=0;
		fo(t,0,5){
			int px=x+fx[t][0],py=y+fx[t][1],pz=z+fx[t][2];
			int ret=0;
			if (px<1||py<1||pz<1||px>n||py>m||pz>k)ret=0;
			else{
				printf("? %d %d %d\n",px,py,pz);
				fflush(stdout);
				scanf("%d",&ret);
			}
			if (ret>val){
				x=px,y=py,z=pz;
				val=ret;
				cg=1;
				break;
			}
		}
		if (!cg)break;
	}
	printf("! %d %d %d\n",x,y,z);
	fflush(stdout);
	return 0;
}

Compilation message

worm.cpp: In function 'int main()':
worm.cpp:41:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&ret);
   ~~~~~^~~~~~~~~~~
worm.cpp:56:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&ret);
     ~~~~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 33 ms 256 KB Output is correct
2 Correct 37 ms 300 KB Output is correct
3 Correct 56 ms 352 KB Output is correct
4 Correct 34 ms 256 KB Output is correct
5 Correct 42 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB too many queries. input: ? 57959 1 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 18 ms 384 KB Output is correct
2 Correct 17 ms 256 KB Output is correct
3 Correct 20 ms 384 KB Output is correct
4 Correct 23 ms 256 KB Output is correct
5 Correct 24 ms 256 KB Output is correct
6 Correct 22 ms 384 KB Output is correct
7 Correct 14 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 384 KB Output is correct
2 Correct 13 ms 256 KB Output is correct
3 Correct 14 ms 304 KB Output is correct
4 Correct 19 ms 256 KB Output is correct
5 Correct 12 ms 256 KB Output is correct
6 Correct 7 ms 384 KB Output is correct
7 Correct 31 ms 256 KB Output is correct
8 Correct 18 ms 384 KB Output is correct
9 Correct 12 ms 256 KB Output is correct
10 Correct 17 ms 256 KB Output is correct
11 Correct 34 ms 256 KB Output is correct
12 Correct 16 ms 384 KB Output is correct
13 Correct 26 ms 256 KB Output is correct
14 Incorrect 25 ms 256 KB too many queries. input: ? 148 436 1
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 378 ms 384 KB Output is correct
2 Correct 391 ms 256 KB Output is correct
3 Correct 309 ms 256 KB Output is correct
4 Correct 394 ms 256 KB Output is correct
5 Correct 400 ms 256 KB Output is correct
6 Correct 492 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 630 ms 384 KB Output is correct
2 Correct 533 ms 388 KB Output is correct
3 Correct 555 ms 384 KB Output is correct
4 Correct 679 ms 256 KB Output is correct
5 Correct 648 ms 256 KB Output is correct
6 Correct 497 ms 256 KB Output is correct
7 Correct 685 ms 384 KB Output is correct
8 Correct 721 ms 316 KB Output is correct
9 Correct 630 ms 308 KB Output is correct
10 Correct 501 ms 308 KB Output is correct
11 Correct 596 ms 304 KB Output is correct