取石子
来源:互联网 发布:windows sudo rm -rf 编辑:程序博客网 时间:2024/04/30 10:02
主页讨论版问题名次状态统计
提交: 18 解决: 9
[提交][状态][讨论版]
问题 G: 我们再来玩游戏
时间限制: 1 Sec 内存限制: 128 MB提交: 18 解决: 9
[提交][状态][讨论版]
题目描述
各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:
1、 本游戏是一个二人游戏;
2、 有一堆石子一共有n个;
3、 两人轮流进行;
4、 每走一步可以取走1…m个石子;
5、 最先取光石子的一方为胜;
如果游戏的双方使用的都是最优策略,请输出哪个人能赢。
1、 本游戏是一个二人游戏;
2、 有一堆石子一共有n个;
3、 两人轮流进行;
4、 每走一步可以取走1…m个石子;
5、 最先取光石子的一方为胜;
如果游戏的双方使用的都是最优策略,请输出哪个人能赢。
输入
输入数据首先包含一个正整数C(C<=100),表示有C组测试数据。
每组测试数据占一行,包含两个整数n和m(1<=n,m<=1000),n和m的含义见题目描述。
每组测试数据占一行,包含两个整数n和m(1<=n,m<=1000),n和m的含义见题目描述。
输出
如果先走的人能赢,请输出“first”,否则请输出“second”,每个实例的输出占一行。
样例输入
223 24 3
样例输出
firstsecond
提示
【思路】:
如果TT想赢得这场比赛,即先把石子取完。务必保证TT最后一次取石子时,剩余的石子数小于等于M,所以倒数第二次TT的室友取石子时务必保证,剩余的石子数为M+1,这样无论他取几个石子(1-M),TT都能在最后一次全部取完。
#include<iostream>using namespace std;int main(){int t,n,m;cin>>t;while(t--){cin>>n>>m; if(n%(m+1)==0) { cout<<"second"<<endl; } else { cout<<"frist"<<endl; }}return 0;}
0 0
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子
- 取石子游戏【各类取石子总结】
- 取石子游戏--各类取石子总结
- "取石子"游戏
- 取石子游戏
- 取石子游戏
- 取石子游戏
- Android面试题汇总:
- Linux下查看某程序的端口占用情况
- OpenCV学习笔记之八(保存视频,录制视频,cvLoadImage的路径)
- Android手势源码浅析------手势的形成(Gesture)
- Picasso源码解析之Lrucache算法源码解析
- 取石子
- Machine Learning MultiLinear Regression Andrew Ng 课程练习 Matlab Script 详细解析
- java实现条件编译
- 《Java程序设计基础》 第8章手记Part 1
- C++ 单位整型计算器,仅支持带括号的四则运算。初学c++第一个个人作品
- 第二季:在UEFI+GPT模式下用U安装系统
- EditText限制输入的小数点只能一个
- 第三季:UEFI SecureBoot ESP MSR等相关名词解释
- 机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)