結果
問題 | No.3018 目隠し宝探し |
ユーザー |
![]() |
提出日時 | 2025-01-25 14:10:54 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,466 bytes |
コンパイル時間 | 8,494 ms |
コンパイル使用メモリ | 468,432 KB |
実行使用メモリ | 25,960 KB |
平均クエリ数 | 2.82 |
最終ジャッジ日時 | 2025-01-25 23:10:03 |
合計ジャッジ時間 | 10,944 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge11 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 20 WA * 1 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>#include <boost/multiprecision/cpp_dec_float.hpp>#include <boost/multiprecision/cpp_int.hpp>namespace mp = boost::multiprecision;using Bint = mp::cpp_int;using namespace std;using namespace atcoder;#define rep(i, n) for(int i=0;i<(n);++i)#define rep1(i, n) for(int i=1;i<=(n);i++)#define ll long longusing mint = modint998244353;using P = pair<ll,ll>;using lb = long double;using T = tuple<ll, ll, ll>;#ifdef LOCAL# include <debug_print.hpp># define dbg(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)#else# define dbg(...) (static_cast<void>(0))#endifint ask(int i, int j) {cout << "? " << i << " " << j << endl;int d;cin >> d;return d;}int main(){int h, w;cin >> h >> w;if(h==1) {int d = ask(1,1);for(int y=1;y<=w;y++) {if((y-1)*(y-1)==d) {cout << "! " << 1 << " " << y << endl;return 0;}}}if(w==1) {int d = ask(1,1);for(int x=1;x<=h;x++) {if((x-1)*(x-1)==d) {cout << "! " << x << " " << 1 << endl;return 0;}}}int d1 = ask(1,w);int d2 = ask(2,w);int x = (d1-d2+3)/2;for(int y=1;y<=w;y++) {if((y-w)*(y-w)+(x-1)*(x-1)==d1) {cout << "! " << x << " " << y << endl;return 0;}}return 0;}