題目連結:1066
題目連結:1067
1066 Bash遊戲
基準時間限制:1 秒 空間限制:131072 KB 分值: 0
難度:基礎題
收藏
關注
有一堆石子共有N個。A B兩個人輪流拿,A先拿。每次最少拿1顆,最多拿K顆,拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出N和K,問最後誰能赢得比賽。
例如N = 3,K = 2。無論A如何拿,B都可以拿到最後1顆石子。
Input
第1行:一個數T,表示後面用作輸入測試的數的數量。(1 <= T <= 10000)第2 - T + 1行:每行2個數N,K。中間用空格分隔。(1 <= N,K <= 10^9)
Output
共T行,如果A獲勝輸出A,如果B獲勝輸出B。
Input示例
43 24 27 3
8 3
Output示例
BAAB
代碼:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t,a,b;
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&a,&b);
if (a<=b||a%(b+1))
printf("A\n");
else
printf("B\n");
}
return 0;
}
1067 Bash遊戲 V2
基準時間限制:1 秒 空間限制:131072 KB 分值: 10
難度:2級算法題
收藏
關注
有一堆石子共有N個。A B兩個人輪流拿,A先拿。每次隻能拿1,3,4顆,拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出N,問最後誰能赢得比賽。
例如N = 2。A隻能拿1顆,是以B可以拿到最後1顆石子。
Input
第1行:一個數T,表示後面用作輸入測試的數的數量。(1 <= T <= 10000)第2 - T + 1行:每行1個數N。(1 <= N <= 10^9)
Output
共T行,如果A獲勝輸出A,如果B獲勝輸出B。
Input示例
3234
Output示例
BAA
規律:
0 B
1 A
2 B
3 A
4 A
5 A
6 A
7 B
8 A
9 B
10 A
11 A
12 A
13 A
7個一循環----
代碼“:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t,n;scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
n%=7;
if (n==0||n==2)
printf("B\n");
else
printf("A\n");
}
return 0;
}