D Seek the Joker I
链接:https://ac.nowcoder.com/acm/contest/11746/D
来源:牛客网

题目描述
长达数日的春日祭终于告一段落,作为巫女的朝野芳乃在打扫完神社本决定好好享受一下久违的宁静。然而守护了神刀数百年的丛雨难耐寂寞,希望芳乃能陪她一起玩扑克消解愁闷。

芳乃并不擅长市井的游戏,所以总是输多赢少。而昨日被芳乃的神乐舞深深吸引,以致一早就前来建实神社希望能再睹芳华的你碰巧听见了此事。尽管不知道为什么美丽的巫女要自言自语地为玩扑克而苦恼,但你毅然决然地毛遂自荐,希望能为芳乃一解眉间愁。

芳乃告诉了你丛雨准备了n张扑克牌作为牌堆,每人每次至多从牌堆顶部抽k张牌,至少抽1张牌。牌堆底部的最后一张牌作为乌龟,抽中的将输掉这一轮比赛。芳乃想知道在你的帮助下,她和丛雨都采取积极策略时,她自己是否一定能获胜。作为被丛雨邀请的一方,每轮游戏都是芳乃先抽。

因为看不见丛雨而误认芳乃罹患精神分裂的你在不由感叹红颜薄命的同时,决定尽全力帮助芳乃完成她的委托。

声明:本题中的所有角色在剧情发生时均已超过18岁。

输入描述:
第一行包含一个整数T,表示共有T组测试数据。

每组测试数据共一行,包含两个正整数n和k,分别表示牌堆中有n张牌和每次抽取最多抽取k张。

数据保证T,n,k≤1000000。

输出描述:
对于每组测试数据给出一行结果。

如果芳乃必胜,则输出“yo xi no forever!”,

否则输出 ”ma la se mi no.1!“。

解题思路:
威佐夫博奕
整个游戏不能拿最后一张牌,拿了就输了,除了最后一张牌还有n-1张
每个人可以摸1到k张牌,后手摸可以保证先手和后手这一轮总共摸得牌数为 k + 1,因为先手只能摸1到k张,然后算一下n-1是否能被k+1整除,如果可以整除,则后手刚好摸完n-1张只剩下一张后手胜利,如果不能整除,则先手胜。

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<iostream>
#include<cstring>
using namespace std;int main()
{int t;cin>>t;while(t--){int n,k;cin>>n>>k;if((n-1)%(k+1)==0){printf("ma la se mi no.1!\n");}else{printf("yo xi no forever!\n");}}return 0;
}

E Seek the Joker II
链接:https://ac.nowcoder.com/acm/contest/11746/E
来源:牛客网

题目描述
长达数日的春日祭终于告一段落,作为巫女的朝野芳乃在打扫完神社本决定好好享受一下久违的宁静。然而守护了神刀数百年的丛雨难耐寂寞,希望芳乃能陪她一起玩扑克消解愁闷。

芳乃并不擅长市井的游戏,所以总是输多赢少。而昨日被芳乃的神乐舞深深吸引,以致一早就前来建实神社希望能再睹芳华的你碰巧听见了此事。尽管不知道为什么美丽的巫女要自言自语地为玩扑克而苦恼,但你毅然决然地毛遂自荐,希望能为芳乃一解眉间愁。

芳乃告诉了你丛雨准备了n张扑克牌作为牌堆,自牌顶向下数第x张牌作为乌龟,即“乌龟”的上方有x-1张牌,“乌龟”的下方有n-x张牌,抽中“乌龟”的将输掉这一轮比赛。每人每次可以同时在牌堆顶和牌堆底或者仅在牌堆顶或牌堆底其抽取任意张牌,至少抽1张牌。但若选择同时在牌堆顶和牌堆底抽牌,则抽牌数量需要相同。芳乃想知道在你的帮助下,她和丛雨都采取积极策略时,她自己是否一定能获胜。作为被丛雨邀请的一方,每轮游戏都是芳乃先抽。

因为看不见丛雨而误认芳乃罹患精神分裂的你在不由感叹红颜薄命的同时,决定尽全力帮助芳乃完成她的委托。

声明:本题中的所有角色在剧情发生时均已超过18岁。

输入描述:
第一行包含一个整数T,表示共有T组测试数据。

每组测试数据共一行,包含两个正整数n和x,分别表示牌堆中有n张牌和”乌龟“的位置。

数据保证,T≤1000000 和n,x≤3000000 ,。

输出描述:
对于每组测试数据给出一行结果。

如果芳乃必胜,则输出“yo xi no forever!”,

否则输出”ma la se mi no.1!“。

解题思路:
思路来自于 这个博主的博弈论之威佐夫博弈https://blog.csdn.net/qq_41311604/article/details/79980882
根据这个博主写的,这个题我们只要舍掉乌龟那张牌,看先手后手谁先摸完牌谁就胜利,判断是否满足这个式子即可 left == (int) ((right - left )*1.618) 满足的话就是后手胜利,不满足就是先手胜利。left 是较小的数,right 是较大的数

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<iostream>
#include<cstring>
using namespace std;int main()
{double r = (sqrt(5.0) + 1) / 2;  //r = 0.618int t;cin>>t;while(t--){int n,x;cin>>n>>x;int left,right;left = x-1; right = n-x;if(left>right)swap(left,right);int temp = (right-left)*r;if(temp==left){cout<<"ma la se mi no.1!"<<endl;}else{cout<<"yo xi no forever!"<<endl;}} return 0;
}

第八届“图灵杯” D Seek the Joker I , E Seek the Joker II相关推荐

  1. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——E题 Seek the Joker II

    题目描述 长达数日的春日祭终于告一段落,作为巫女的朝野芳乃在打扫完神社本决定好好享受一下久违的宁静.然而守护了神刀数百年的丛雨难耐寂寞,希望芳乃能陪她一起玩扑克消解愁闷. 芳乃并不擅长市井的游戏,所以 ...

  2. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——D题 Seek the Joker I

    题目描述 长达数日的春日祭终于告一段落,作为巫女的朝野芳乃在打扫完神社本决定好好享受一下久违的宁静.然而守护了神刀数百年的丛雨难耐寂寞,希望芳乃能陪她一起玩扑克消解愁闷. 芳乃并不擅长市井的游戏,所以 ...

  3. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛)解题报告

    第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛(同步赛) 题目总结 A题 切蛋糕 题目信息 解题思路 如果我们将 1/k展开到二进制的形式,那么就可以计算出 需要 多少块1/( ...

  4. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛题解

    第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛题解 先抱怨一下,这场比赛的题锅太多了,而且正赶上状态不好,Ac 1/12就离谱.. H 数羊 给定n,m(1≤n≤109,0≤m ...

  5. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 全题解

    比赛链接:这里 第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛 OP A 切蛋糕 B 小宝的幸运数组 C 上进的凡凡 D Seek the Joker I E Seek the ...

  6. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛) 2021.1.30

    第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛(同步赛) B小宝的幸运数组 C上进的凡凡 D Seek the Joker I E Seek the Joker II H 数羊 ...

  7. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛

    第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛 寒假打的一场比赛,时隔许久对这场比赛还有些许印象,所以特意回来补了这场比赛的题目. 小宝的幸运数组(B题) 题目链接 #incl ...

  8. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 I 买花

    第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛 I 买花 题目描述: 情人节马上要到了,阳阳想送出n朵花给喜欢的妹妹,他打算提前开始买.但是,因为他有强迫症,所有的花要分k天买 ...

  9. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛非官方题解

    文章目录 7-1 切蛋糕 7-2 小宝的幸运数组 7-3 上进的凡凡 7-4 Seek the Joker I 7-5 Seek the Joker II 7-6 成绩查询ING 7-7 贪吃的派蒙 ...

  10. 第八届“图灵杯”NEUQ—ACM程序设计竞赛个人赛(同步赛)

    A题--切蛋糕 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2 ...

最新文章

  1. 应该知道关于Python的随机模型 以及使用范围例子洗牌 特别长 1米
  2. 支持向量机SVM 简要推导过程
  3. 错误make: nvcc: Command not found 解决方案
  4. mysql的pager命令,mysql pager用法命令行命令
  5. File类遍历(文件夹)目录功能
  6. 应用系统集群解决方案
  7. 关于NPN和PNP传感器的应用区别(转载)
  8. mysql支持的时区列表_mysql按天分组支持时区
  9. postfix过滤器名称不一致导致postfix/qmg:warning: connect to transport xxxx: No such file or directory...
  10. mysql set substring_MySQL substring()函数
  11. 任务分发系统-Qcmd-http详解
  12. 初解vue脚手架vue-cli,及demo示例(一)
  13. js数字比较【牢记】
  14. xcode 自己常用到的快捷键
  15. 如何使用TCPA300电流放大器和电流探头进行电流测试
  16. android studio拼音转汉字,汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快
  17. 创蓝253云通讯平台---短信验证码接口说明
  18. 基于SSM的宠物医院信息系统设计与实现
  19. 诺基亚Q4净利润5.64亿美元 同比增54%
  20. 如何验证Java 布尔类型的true = 1 ,false = 0

热门文章

  1. Apache log4j-1.2.17源码学习笔记
  2. Win10系统打开便签便利贴工具的方法
  3. Content-type的常见类型
  4. 中望CAD Linux预览版打不开
  5. javascript 向数组添加元素执行效率
  6. 仿QQ空间天气预报效果 使用免费天气API的天气插件
  7. 7-9 抢红包 (25 分)
  8. Xshell 上下左右键乱码问题
  9. HCIA----02
  10. Mybatis-plus使用SqlInjector注入SQl