結果
| 問題 |
No.594 壊れた宝物発見機
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-05-12 07:56:29 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 713 bytes |
| コンパイル時間 | 2,156 ms |
| コンパイル使用メモリ | 192,372 KB |
| 最終ジャッジ日時 | 2025-01-10 10:37:56 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 WA * 18 RE * 1 |
コンパイルメッセージ
main.cpp: In function ‘int ask(int, int, int)’:
main.cpp:15:21: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
15 | int d; scanf("%d",&d);
| ~~~~~^~~~~~~~~
main.cpp: In function ‘int solve(int)’:
main.cpp:27:17: warning: ‘d1’ may be used uninitialized [-Wmaybe-uninitialized]
27 | if(d1<d2) hi=mi;
| ^~
main.cpp:23:21: note: ‘d1’ was declared here
23 | int d1,d2;
| ^~
main.cpp:27:17: warning: ‘d2’ may be used uninitialized [-Wmaybe-uninitialized]
27 | if(d1<d2) hi=mi;
| ^~
main.cpp:23:24: note: ‘d2’ was declared here
23 | int d1,d2;
| ^~
ソースコード
#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
int memo[201][201][201];
int ask(int x,int y,int z){
int& res=memo[x+100][y+100][z+100];
if(res!=-1) return res;
printf("? %d %d %d\n",x,y,z);
fflush(stdout);
int d; scanf("%d",&d);
return res=d;
}
int solve(int i){
int lo=-100,hi=101;
while(hi-lo>1){
int mi=(lo+hi)/2;
int d1,d2;
if(i==0) d1=ask(mi,0,0), d2=ask(mi+1,0,0);
if(i==1) d1=ask(0,mi,0), d2=ask(0,mi+1,0);
if(i==2) d1=ask(0,0,mi), d2=ask(0,0,mi+1);
if(d1<d2) hi=mi;
else lo=mi;
}
return lo;
}
int main(){
memset(memo,-1,sizeof memo);
int x=solve(0);
int y=solve(1);
int z=solve(2);
printf("! %d %d %d\n",x,y,z);
return 0;
}