제출 #131004

#제출 시각아이디문제언어결과실행 시간메모리
131004sebinkimSnake (CEOI08_snake)C++14
80 / 100
2 ms376 KiB
#include <bits/stdc++.h> #include "snakelib.h" using namespace std; int main() { int i, k, d, s1, s2, e1, e2, m1, m2; char a1, a2; k = get_speed(); if(k == 0) k = 1, d = 0; else d = 1; s1 = 0; e1 = 12121 / k; s2 = 0; e2 = 12121 / k; for(i=0; i<13; i++){ e1 = min(12121 / k, e1 + d); e2 = min(12121 / k, e2 + d); if(s1 == s2 && e1 == e2 && e1 - s1 >= 3){ m1 = (s1 * 2 + e1) / 3; m2 = (s1 + e1 * 2) / 3; ask_snake(m1 * k, m2 * k, &a1, &a2); if(a1 == 'b' && a2 == 'f'){ s1 = s2 = m1 + 1; e1 = e2 = m2 - 1; } else if(a1 == 'f') e1 = e2 = m1 - 1; else if(a2 == 'b') s1 = s2 = m2 + 1; else{ if(a1 == 's') e1 = m1; else s1 = m1 + 1, e1 = m2; if(a2 == 's') s2 = m2; else s2 = m1, e2 = m2 - 1; } } else{ m1 = (s1 + e1) / 2; m2 = (s2 + e2) / 2; ask_snake(m1 * k, m2 * k, &a1, &a2); if(a1 == 'b') s1 = m1 + 1; else e1 = m1 - 1; if(a2 == 'f') e2 = m2 - 1; else s2 = m2 + 1; } } tell_length((s2 - s1) * k); }
#Verdict Execution timeMemoryGrader output
Fetching results...