一天小明和小红在玩取石子游戏,游戏规则是这样的:
(1)本游戏是一个二人游戏;
(2)有一堆石子,共有n个;
(3)两人轮流进行;
(4)每走一步可以取走1~m个石子;
(5)最先取光石子的一方为胜。
如果游戏的双方使用的都是最优策略,请输出哪个人能赢。
输入格式
输入的第一行是一个正整数C(C<=100),表示有C组测试数据。
每组输入两个整数n和m(1<=n,m<=1000),n和m的含义见题目描述。
输出格式
对于每组输入,如果先走的人能赢,请输出“first”,否则请输出“second”。
样例输入
2
23 2
4 3
样例输出
first
second
解题思路
经典取石子问题,最少取一颗最多取m颗,那么如果有m+1颗,先去取的人肯定输,无论取多少后取的人肯定能取完。
为了必胜,必去能保证最终达成我取完后剩余m+1颗的状态,那么能稳定达到这种状态的必然是两人各取一次保证取m+1颗。因为我是后取的,所以我能保证他取的加上我取的总数是m+1。
也就是说,如果在我取完后,如果剩余石子的个数能控制在m+1的整数倍,那么这个比赛就完全在我的掌控之中。

#include<stdio.h>
int main()
{int c,m,n;scanf("%d",&c);while(c--){scanf("%d %d",&n,&m);if(n%(m+1))printf("first\n");elseprintf("second\n");}return 0;
}

算法学习之路|取石子相关推荐

  1. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  2. 算法学习之路和程序员(技术)学习必读书籍

    原文链接:http://lucida.me/blog/on-learning-algorithms/ 转 算法学习之路和程序员(技术)学习必读书籍 2015年05月26日 09:46:56 阅读数:1 ...

  3. 完全背包问题贪心算法c语言,数据结构与算法学习之路:背包问题的贪心算法和动态规划算法...

    一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算 ...

  4. 巩朋:我的算法学习之路

    转自:http://blog.jobbole.com/67348/ 巩朋:我的算法学习之路 分享到: 232 MVC架构模式分析与设计 Linux Guide for Developers 网页广告特 ...

  5. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  6. 算法学习之路|最小生成树——prime算法

    摘要: 算法概述:对于一个带权的连通图,其顶点的集合 为V,边的集合为E.定义一个新的集合Vnew={空},第一步在图中任选一个顶点v加入Vnew,第二步寻找最短的边(u,v),其中u∈Vnew,v∈ ...

  7. 算法学习之路2 质数问题

    前言 质数问题也算是入门的问题了,在CSDN竞赛第五期中,前2题也跟质数问题存在关系,看了大佬们的解答,我的解题方式算是暴力的了.只能达到启蒙的作用,要做好还是要多刷题. 概念法 质数又称素数.一个大 ...

  8. 算法学习之路|数位dp简要分析

    数位dp一般用于处理一些和数位有关的计数问题,比如说求区间[l,r]中有多少符合条件的数,而为了减少时间复杂度,方法使用的是动态规划的思想. 举例说明:问从0到2345这些数中总共包含多少6. 数位d ...

  9. 算法学习之路|最小生成树—kruskal

    算法概述:一个带权的连通图, 有V个点,E个边,去掉所有的边,得到一个新图,将E个边按权值从小到大排列,然后从权值最小的边<u,v>开始加入,重复下去,但每次加入之前要判断u,v是否连通, ...

  10. 算法学习之路|打印排名

    上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分线,请你写程序找出最后通过分数线的 考生,并将他们的成绩按降序打印. 输 ...

最新文章

  1. redis geohash 学习笔记
  2. iOS 即时聊天键盘处理
  3. 决胜B端第2版(4):需求分析的十三要素五步法
  4. 如何在dva的effects中实现回调
  5. Andriod动态布局
  6. pandas 读取/保存压缩格式的csv文件.csv.gz
  7. 【报告分享】2019年在线教育培训行业分析报告.pdf(附下载链接)
  8. SQLSERVER 函数大全
  9. Android Studio代码自动提示无效
  10. 独热向量编码(one-hot encoding)原理详解与实现
  11. vb access mysql数据库教程_VB操作access数据库
  12. 关于python语句与列表,元组,字典等集合的题
  13. C++数据库编程 ODBC简介
  14. R语言ggplot2可视化条形图:通过双色渐变配色颜色主题可视化条形图
  15. mac系统下,vm虚拟机打不开/dev/vmmon,如何解决?
  16. [图形计算器]Desmos
  17. 智慧社区解决方案上线!给社区装上智能大脑
  18. 补肾健脑的中药有哪些?
  19. Linux挂载移动群晖硬盘,通过USB移动硬盘盒挂载群晖格式硬盘的方法
  20. Ubuntu16.04笔记本 安装R RStudio

热门文章

  1. 【漏洞公告】高危:Windows系统 SMB/RDP远程命令执行漏洞
  2. DedeCMS 5.7 后门漏洞
  3. 未能加载文件或程序集Microsoft.ReportViewer.WebForms
  4. Photoshop快捷键和技巧大全
  5. ubuntu 14.04 编译yocto源码--环境配置篇
  6. tcp/ip发送接收总体框架
  7. 云之幻哔哩哔哩uwp_【UWP】一款很 Fluent Design 的 Bilibili UWP客户端:哔哩
  8. Snmp4j编程简介之一
  9. Linux内核中的atoi,itoa等函数
  10. rancher k8s docker 关系_CentOS7下利用Rancher搭建K8s集群