蓝桥杯省赛无忧 编程9

发布时间:2024年01月21日

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,k,ans=0;
  cin>>n>>k;
  while(n--)
  {
    int a;
    cin>>a;
    ans+=a&1;
  }
  if(ans&1) cout<<"Alice"<<'\n';
  else cout<<"Bob";    
    return 0;
}

这个游戏是基于数学规则的,规则如下:

  1. 游戏中有n轮,每轮Alice和Bob都会得到一个数字a
  2. 如果在所有轮结束后,所有数字a的奇数和是奇数,则Alice获胜。
  3. 如果奇数和是偶数,则Bob获胜。

代码解释如下:

  • 程序首先包含<bits/stdc++.h>这个头文件,它是一个GCC编译器特有的头文件,包含了C++标准库的几乎所有头文件。
  • 使用using namespace std;声明,这使得程序中可以直接使用标准库中的名字,比如cincout,而不用加std::前缀。
  • 主函数main开始执行时,首先定义了整数变量nkans。其中n是游戏的轮数,k在代码中其实没有被使用,ans用于累加所有轮中奇数的数量。
  • 通过cin读入nk的值,尽管k没有被使用。
  • 程序进入一个循环,该循环执行n次。每次循环中,读入一个整数a,如果a是奇数(a&1的结果为真),则ans的值增加1。
  • 循环结束后,检查ans的奇偶性。如果ans是奇数(ans&1的结果为真),输出"Alice";否则输出"Bob"。
  • 最后,程序返回0,表示正常退出。

根据这个程序,我们可以输出游戏的结果,根据输入的数字中奇数的数量,来判定Alice或Bob哪个是胜者。

文章来源:https://blog.csdn.net/weixin_74774974/article/details/135734747
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。