51nod oj1066 Bash游戏1067 Bash游戏 V2【巴什博奕】

    xiaoxiao2026-06-15  10

    题目链接: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示例 4 3 2 4 2 7 3 8 3 Output示例 B A A B

    代码:

    #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示例 3 2 3 4 Output示例 B A A

    规律:

    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; }

    转载请注明原文地址: https://ju.6miu.com/read-1310558.html
    最新回复(0)