博客
关于我
hdu_oj1847Good Luck in CET-4 Everybody!(巴什博弈)
阅读量:281 次
发布时间:2019-03-01

本文共 551 字,大约阅读时间需要 1 分钟。

要解决这个问题,我们需要分析Kiki和Cici玩扑克牌的游戏规则,确定谁能赢。这个游戏类似于巴什博弈,其中关键点在于判断牌的数量是否为3的倍数。

方法思路

  • 问题分析:每次可以抓取1、2、4、8等2的幂次数量的牌。最后抓完所有牌的人赢。
  • 关键点:当剩下的牌数是3的倍数时,先手会处于劣势,无法避免输掉比赛。因此,问题转化为判断牌的数量是否为3的倍数。
  • 解决策略:如果n是3的倍数,先手Kiki会输,否则Kiki会赢。
  • 解决代码

    #include 
    using namespace std;int main() { int n; while (cin >> n) { if (n % 3 == 0) { cout << "Cici"; } else { cout << "Kiki"; } } return 0;}

    代码解释

  • 读取输入:使用cin读取输入的牌数n。
  • 判断条件:检查n是否为3的倍数。如果是,输出"Cici",否则输出"Kiki"。
  • 循环处理:处理多个测试用例,逐行读取并处理每个n的值。
  • 这种方法高效且直接,能够快速判断每个测试用例的结果,确保在合理时间内完成。

    转载地址:http://swlo.baihongyu.com/

    你可能感兴趣的文章
    OpenResty(2):OpenResty开发环境搭建
    查看>>
    openshift搭建Istio企业级实战
    查看>>
    Openstack 之 网络设置静态IP地址
    查看>>
    OpenStack 网络服务Neutron详解
    查看>>
    Openstack(两控制节点+四计算节点)-1
    查看>>
    Openstack企业级云计算实战第二、三期培训即将开始
    查看>>
    OpenStack安装部署实战
    查看>>
    OpenStack的基本概念与架构详解
    查看>>
    Openstack的视频学习
    查看>>
    openstack虚拟机迁移live-migration中libvirt配置
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORACLE Bug 4431215 引发的血案—原因分析篇
    查看>>
    oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
    查看>>
    Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
    查看>>
    oracle dg switchover,DG Switchover fails
    查看>>
    Oracle GoldenGate Director安装和配置(无图)
    查看>>
    oracle script
    查看>>
    Oracle SOA Suit Adapter
    查看>>
    Oracle Spatial空间数据库建立
    查看>>
    UML— 活动图
    查看>>