zoukankan      html  css  js  c++  java
  • Bash游戏(博弈)

    有一堆石子共有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
    这个博弈是很基本的博弈,最多只能拿k个,谁最后一个拿完谁就是赢家,所以只要n不能被(k+1)整除的的话,就A赢,若是n能被(k+1)整除的话,那么久B赢。
    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int t,n,k;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d %d",&n,&k);
            if(n%(k+1)==0)
            printf("B
    ");
            else
            {
                printf("A
    ");
            }
        } 
        return 0;
    } 
    有一堆石子共有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
    n石子数 赢家
    1 A
    2 B
    3 A
    4 A
    5 A
    6 A
    7 B
    8 A
    9 A
    10 A
    11 A
    12 B
    我们可以看到B赢的出现的情况总是+2,+5的出现,所以当n%7==0||n%7==2时时B赢
    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    char f[7]={'B','A','B','A','A','A','A'};
    int main()
    {
        int t,n;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            printf("%c
    ",f[n%7]);
        }
        return 0;
    }
  • 相关阅读:
    atitit.插件体系设计总结o73.doc
    Atitit.可视化编程jbpm6 的环境and 使用总结...
    atitit.团队建设总结o6o fix
    atitit.团队建设总结fx O622
    atitit.客户端连接oracle数据库的方式总结
    atitit.提升2--3倍开发效率--cbb体系的建设..
    atitit.微信项目开发效率慢的一些总结
    atitit.为什么java体系开发效率这样低的原因and解决
    atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网
    atitit.技术选型方法总结为什么java就是比.net有前途
  • 原文地址:https://www.cnblogs.com/NaCl/p/4761417.html
Copyright © 2011-2022 走看看