Submission #645341

#TimeUsernameProblemLanguageResultExecution timeMemory
645341mychecksedadWorm Worries (BOI18_worm)C++17
0 / 100
1 ms464 KiB
/* Author : Mychecksdead */ #include<bits/stdc++.h> using namespace std; typedef long long int ll; typedef long double ld; #define MOD (1000000000+7) #define MOD1 (998244353) #define PI 3.1415926535 #define pb push_back #define setp() cout << setprecision(15) #define all(x) x.begin(), x.end() #define debug(x) cerr << #x << " is " << x << '\n'; const int N = 1e6+100, M = 1e5+10, F = 2147483646, K = 20; int n, m, k, q, qq = 0; int query(int x, int y, int z){ if(x == 0 || x == n + 1 || y == 0 || y == m + 1) return 0; qq++; if(qq == q + 1){ for(int i = 0; i < 1e9; ++i) cout << "f" << endl; } cout << "? " << x << ' ' << y << ' ' << z << endl; int a; cin >> a; assert(a==-1); return a; } void solve(){ cin >> n >> m >> k >> q; for(int i = 1; i <= m; ++i){ int l = 1, r = n; while(l <= r){ int mi = (l + r) >> 1; int q = query(mi - 1, i, 1); int q1 = query(mi, i, 1); if(q >= q1){ r = mi - 1; continue; } int q2 = query(mi + 1, i, 1); if(q <= q1 && q1 >= q2){ int up = query(mi, i - 1, 1); int down = query(mi, i + 1, 1); if(up <= q1 && down <= q1){ cout << "! " << mi << ' ' << i << ' ' << 1 << endl; return; } break; } if(q <= q1 && q1 <= q2){ l = mi + 1; }else if(q2 <= q1 && q1 <= q){ r = mi - 1; }else{ r = mi - 1; } } } cout << "! " << 1 << ' ' << 1 << ' ' << 1 << endl; } int main(){ cin.tie(0); ios::sync_with_stdio(0); int T = 1, aa; // cin >> T;aa=T; while(T--){ // cout << "Case #" << aa-T << ": "; solve(); cout << '\n'; } return 0; }

Compilation message (stderr)

worm.cpp: In function 'int main()':
worm.cpp:72:16: warning: unused variable 'aa' [-Wunused-variable]
   72 |     int T = 1, aa;
      |                ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...