$O(t)$
dfs를 이용해 flood fill을 한다.
#include<cstdio> int t, a, b, ck[2][5000001], r; void f(int x, int y) { if (x>t || x>t || ck[y][x]) return; ck[y][x]++; if (x > r) r = x; if (!y) f(x / 2, 1); f(x + a, y); f(x + b, y); } int main() { scanf("%d%d%d", &t, &a, &b); f(0, 0); printf("%d", r); return 0; }
댓글 없음 :
댓글 쓰기