孩子们的游戏(圆圈中最后剩下的数)
2016-01-26 21:37
246 查看
题目描述
每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友,可以不用表演,并且拿到NowCoder名贵的“名侦探柯南”典藏版(名额有限哦!!^_^)。请你试着想下,哪个小朋友会得到这份礼品呢?class Solution { public: int LastRemaining_Solution(unsigned int n, unsigned int m) { if(n ==0 || m == 0) return -1; vector<unsigned int> vv; for(unsigned int i = 0; i < n ; ++i) { vv.push_back(i); } int begin = 0; while(vv.size() != 1) { vv.erase(vv.begin() + (begin + m-1)%n); begin = ((begin+m-1)%n)%(n-1) ; --n; } return vv[0]; } };
相关文章推荐
- mac osx10.11 配置安装opencv教程
- NodeJs应用场景【学习路线图】
- 二叉树的迭代前中后遍历以及不用栈的遍历C语言
- 1033. 旧键盘打字(20)
- UVA 11624 Fire! bfs
- JNI简介
- 学习笔记1 2016/1/26 how to use git(1)
- Jpa规范中persistence.xml 配置文件解析
- 源码学习
- 2016年1月25日 孩子 你可要健健康康!!
- wamp2.5 连接 mssql2012
- 源码安装 puppet 3.8.5 | yum安装puppet 3.8
- 1032. 挖掘机技术哪家强(20)
- HipChat上传文件报未知错误解决方案
- 蓝懿IOS页面布局AuToLayou
- netstat
- Python 6.3 文档测试
- java垃圾清除算法
- 13.IDA-显示正确的函数名称(去掉c++后缀命名)
- 无处不在的蓝牙—真的很危险吗?