結果
| 問題 | No.3018 目隠し宝探し |
| コンテスト | |
| ユーザー |
tsunamayo123
|
| 提出日時 | 2025-01-25 13:25:27 |
| 言語 | C(gnu17) (gcc 15.2.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 961 bytes |
| 記録 | |
| コンパイル時間 | 199 ms |
| コンパイル使用メモリ | 39,268 KB |
| 最終ジャッジ日時 | 2026-02-22 12:40:23 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge9 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | WA * 11 RE * 1 TLE * 1 -- * 8 |
ソースコード
#include<stdio.h>
int main(){
int H,W; scanf("%d %d",&H,&W);
printf("? %d %d\n",1,1); fflush(stdout);
int d1; scanf("%d",&d1);
if(d1==-1)return 1;
printf("? %d %d\n",H,W); fflush(stdout);
int d2; scanf("%d",&d2);
if(d2==-1)while(1);
int D[2][2]={{-1,-1},{-1,-1}};
int size=0;
for(int i=1;i<=H;i++){
for(int j=1;j<=W;j++){
int dist1=(i-1)*(i-1)+(j-1)*(j-1);
int dist2=(i-H)*(i-H)+(j-W)*(j-W);
if(dist1==d1 && dist2==d2){
if(size>=2)return 1;
D[size][0]=i;
D[size][1]=j;
size++;
}
}
}
printf("? %d %d\n",D[0][0],D[0][1]); fflush(stdout);
int d3; scanf("%d",&d3);
if(d3==-1)return 0;
if(d3==0)printf("! %d %d\n",D[0][0],D[0][1]),fflush(stdout);
else{
if(size==1)return 1;
printf("! %d %d\n",D[1][0],D[1][1]),fflush(stdout);
}
return 0;
}
tsunamayo123