首页 > 其他分享 >10.11 博弈论之抢夺安排最后一名同学进校

10.11 博弈论之抢夺安排最后一名同学进校

时间:2023-10-13 23:35:14浏览次数:42  
标签:同学 安排 博弈论 long 小池 进校 10.11

一开始解决这道题的时候很费解,想了一些办法发现都是无从下手,最后看到一位大佬写的有关博弈论的博客,突然顿悟。以下是题目内容

std的国庆节结束了,由于疫情,校长决定让同学们分批进校。

​ 至于每批学生来多少人由小蒲和小池负责,两个人轮番负责,需要所有人都可以进校,小蒲学长不想被别人嘲笑自己笨,小池要证明自己比小蒲学长强。所以他们会去争抢安排最后一名同学。

​ 每次安排进校的同学数至少为1,至多为上一次进校的2倍。(请注意第一次安排不能直接安排所有的同学一起回校)。

​ 小池抢到了先手的机会。

​ 请问在两人均操作最优的情况下谁能安排最后一名同学入校。

输入格式:

输入一个整数n,n为需要回学校的同学总数。

输出格式:

如果是小蒲获胜就输出cxk ,小池获胜则输出xhz

输入样例:

3

输出样例:

在这里给出相应的输出。例如:

cxk

样例解释

可以发现小池第一次安排1 个同学或者安排2个同学之后小蒲均可安排最后一个同学返校,因此小蒲会获胜,所以输出cxk即可。

数据范围及约定

2≤n≤1×109

这个绞尽脑汁的问题仅仅用了以下这个简短的代码就完成了,仅仅需要判断这个学生数是否为斐波那契数列里的数就可以了。至于这道题的关键 :博弈论

可以去搜一下博弈论讲解(巴什博弈,尼姆博弈,威佐夫博弈,斐波那博弈,SG定理),这里就不做讲解了,毕竟我也是参考学习别人的博客

#include<iostream>
using namespace std;
int main()
{
    long long int n;
    cin >> n;
    long long int sum1=1,sum2=1,sum=0;
    while (sum <= n)
    {
        if (sum == n)
        {
            cout << "cxk";
            break;
        }
        sum = sum1 + sum2;
        sum1 = sum2;
        sum2 = sum;
    }
    while (sum > n)
    {
        cout << "xhz";
        break;
    }
    return 0;
}

 

标签:同学,安排,博弈论,long,小池,进校,10.11
From: https://www.cnblogs.com/luoqingci/p/17763520.html

相关文章

  • 10.11
    今天学了js事件监听 ......
  • 研究目标识别领域相关知识(10.11~10.18)
    这周任务(到下周三汇报):会发给我资料,需要整理下面内容:1、研究什么样的问题?目标检测/识别问题随着社会的发展,公共安全成为全社会的一个共同话题,与之相辅相成的视频监控系统也得到了大量的普及。视频监控系统可以直观的再现目标场景,可作为公安侦破案件的强力辅助。在执法......
  • 10.11
    又是运气爆表的一天!8.10切A,线段树板子看了一眼发现B有点像贪心,但是不太会,开C9.40切C换根板子,并且考过回去看B,想了想会了10.50切B打了个T4的暴力+剪枝检查跑路应得分数400=100+100+100+80实得分数372=100+92+100+80最高分400=100+100+100+100......
  • 10.11总结
    1.解决了好几个报错①数据库表设置自增,在application.properties中mybatiesplus中要写id_type=auto,实现不写入id数据,数据库进行自增操作②没写注释@Autowired导致的一系列错误③mapper映射找不到,包对不上忽略一个问题就是创建包的时候要用com/example/mapper而不是com.example.......
  • 2023.10.11 一些好题
    A你有\(m\)个相同的球,球有性能\(c\),你可以测试\(x\),若\(x\gec\),那么球会碎掉,若\(x<c\),那么球不碎。性能的范围\(n\le1e5\)。求最多要测试多少次。首先答案有一个上限是\(\logn\)。所以令\(m\to\min(m,\logn)\)所以我们记状态可以记\(dp_{l,r,k}\)表示当前确......
  • 大二打卡(10.11)
    今天做了什么:英语课,今天对于老师上课的小发问都能回答上来,不知道是不是因为坐的稍微靠后心情没那么紧张,脑子活了,听力最后一部分听的不行,比上回好了一点,但有限弄了半天建民的测试,我现在已经不知道自己搞错哪一步了,tomcat重装,connector也下了重装,web项目建立的也没问题,代码也没保......
  • 2023.10.11——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.java的一些特性;明日计划:学习......
  • 10.11(动物园管理员)
    第一版:把每种动物都定义为一个类,漏洞大,每天加一种动物或者动物数量发生变化都会需要对代码进行调整每种动物的喂食函数名也不同packagehomework;publicclasstext{publicstaticvoidmain(Stringargs[]){Feederf=newFeeder("小王");......
  • 10.11树的最大深度和判断对称树
    publicclasstrees<T>{privateTdata;publictrees<T>left;publictrees<T>right;publictrees(Tdata){this.data=data;this.left=null;this.right=null;}publictrees(Tdata,trees<T&g......
  • 2023.10.11 js.JSON和js.BOM
    1定义2var变量名='{"key1":value1,"key2":value2}'3varuser='{"字符串":"tom","整型"=20,"数组":["北京","上海","深圳"],"对象":{},"布尔值"......