Educational Codeforces Round 68 (Rated for Div. 2)-D. 1-2-K Game
Alice and Bob play a game. There is a paper strip which is divided into n + 1 cells numbered from left to right starting from 0. There is a chip placed in the n-th cell (the last one).
Players take turns, Alice is first. Each player during his or her turn has to move the chip 1, 2 or k cells to the left (so, if the chip is currently in the cell i, the player can move it into cell i - 1, i - 2 or i - k). The chip should not leave the borders of the paper strip: it is impossible, for example, to move it k cells to the left if the current cell has number i < k. The player who can't make a move loses the game.
Who wins if both participants play optimally?
Alice and Bob would like to play several games, so you should determine the winner in each game.
InputThe first line contains the single integer T (1 ≤ T ≤ 100) — the number of games. Next T lines contain one game per line. All games are independent.
Each of the next T lines contains two integers n and k (0 ≤ n ≤ 109, 3 ≤ k ≤ 109) — the length of the strip and the constant denoting the third move, respectively.
OutputFor each game, print Alice if Alice wins this game and Bob otherwise.
Example input Copy4output Copy
0 3
3 3
3 4
4 4
Bob
Alice
Bob
Alice
代码:
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<stack> #include<set> #include<vector> #include<map> #include<cmath> const int maxn=1e5+5; typedef long long ll; using namespace std; int main() { int T; scanf("%d", &T); while (T--) { int n, k; scanf("%d%d", &n, &k); if (k == 3) { if(n%4!=0) { puts("Alice\n"); } else { puts("Bob"); } } else if (k % 3 == 0) { n %= (k + 1); if (n % 3 == 0 && n != k) puts("Bob"); else puts("Alice"); } else { if(n%3!=0) { puts("Alice\n"); } else { puts("Bob"); } } } }
转载于:https://www.cnblogs.com/Staceyacm/p/11190395.html
- Educational Codeforces Round 68 (Rated for Div. 2) D. 1-2-K Game (博弈, sg函数,规律)
- Educational Codeforces Round 39 (Rated for Div. 2)
- Educational Codeforces Round 39 (Rated for Div. 2) A. Partition(水题)
- Educational Codeforces Round 33 (Rated for Div. 2)
- Educational Codeforces Round 33 (Rated for Div. 2)A-F
- Educational Codeforces Round 40 (Rated for Div. 2) E. Water Taps
- Educational Codeforces Round 55 (Rated for Div. 2) D. Maximum Diameter Graph (构造图)
- Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence
- Educational Codeforces Round 48 (Rated for Div. 2)——A. Death Note ##
- 【Educational Codeforces Round 48 (Rated for Div. 2) C】 Vasya And The Mushrooms
- Educational Codeforces Round 39 (Rated for Div. 2) B. Weird Subtraction Process
- 【Educational Codeforces Round 53 (Rated for Div. 2)】
- Educational Codeforces Round 65 (Rated for Div. 2)
- Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum
- Educational Codeforces Round 35 (Rated for Div. 2) F. Tree Destruction
- Wannafly挑战赛9+Educational Codeforces Round 37 (Rated for Div. 2)
- codeforces Educational Codeforces Round 41 (Rated for Div. 2) for B problem
- 【Educational Codeforces Round 41 (Rated for Div. 2) D】Pair Of Lines
- Educational Codeforces Round 34 (Rated for Div. 2)
- Educational Codeforces Round 39 (Rated for Div. 2) D - Timetable背包