제출 #136206

#제출 시각아이디문제언어결과실행 시간메모리
136206gs14004Snake (CEOI08_snake)C++17
100 / 100
2 ms376 KiB
#include <bits/stdc++.h> #include "snakelib.h" using namespace std; char a1, a2; int main(){ int k = get_speed(); ask_snake(4040, 8080, &a1, &a2); int sl, el, sr, er; if(a1 == 'f'){ tie(sl, el, sr, er) = make_tuple(0, 4040, 0, 4040); } else if(a1 == 's'){ tie(sl, el) = make_tuple(0, 4040); if(a2 == 's') tie(sr, er) = make_tuple(8080, 12121); else tie(sr, er) = make_tuple(4040, 8080); } else{ if(a2 == 'f') tie(sl, el, sr, er) = make_tuple(4040, 8080, 4040, 8080); else if(a2 == 's') tie(sl, el, sr, er) = make_tuple(4040, 8080, 8080, 12121); else tie(sl, el, sr, er) = make_tuple(8080, 12121, 8080, 12121); } for(int i=0; (er - sr > k || el - sl > k); i++){ el += k; er += k; int ml = (sl + el) / 2; int mr = (sr + er) / 2; ask_snake(ml, mr, &a1, &a2); if(a1 == 'b') sl = ml + 1; else el = ml; if(a2 == 'f') er = mr; else sr = mr + 1; } int est1 = (er - el); int est2 = (sr - sl); tell_length(max(1, (est1 + est2) / 2)); }
#Verdict Execution timeMemoryGrader output
Fetching results...