约瑟夫问题-输出最后的编号
1001: 约瑟夫问题-输出最后的编号
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 17 Accepted: 16
[Submit][Status][Web Board]
Description
n个人围成一圈,依次从1至n编号。从编号为1的人开始1至k报数,凡报数为k的人退出圈子,输出最后留下的一个人原来的编号。
Input
首先输入一个t,表示有t组数据(1<= t <= 10010)
然后有t行,每行有2个正整数n和k。(1<= n,k<= 20)
Output
对于每组测试数据,输出一个数,表示最后留下来的人的编号。
Sample Input
3
10 3
7 1
5 4
Sample Output
4
7
1
HINT
例如第三组样例:5个人围成一圈,编号1-5。第一轮报数4号出列,第二轮从5开始报数1,3报4,3出列,第三轮从5开始报1,5报4,5出列,第四轮1开始报1,2报4,2出列,最后剩下的为1号。
#include <iostream>
#include <queue>
#include<stdio.h>
#include<string.h>
#include<stack>
#include<map>
#include<climits>
#include<algorithm>
using namespace std;int main()
{int a[22]={0};int n,m,k;ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//不用管while(cin>>m){while(m--){cin>>n>>k;for(int i=1;i<=n;i++)a[i]=1;//代表他们都还没有被赶走int j=1;int i=0;int sum=0;while(i<k){i+=a[j];//这样子被赶走的人的报数不算到里面if(i==k){a[j]=0;//代表那个人被赶走了i=0;sum++;if(sum==n)//当赶走的人数和人的总数一样循环结束break;}j++;if(j==n+1)j=1;//当到n号的人的时候,下一个为n+1}printf("%d\n",j);}}
}
约瑟夫问题-输出最后的编号相关推荐
- 实验题目:约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人
实验题目:约瑟夫环问题:设编号为1,2,3,--,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数.从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一 ...
- Python入门:格式化输出商品的编号和单价
'''输入销售数据:商品号,商品名,单价1.商品号六位输出2.单价保留两位小数点,前面添加¥''' # 格式化输出商品的编号和单价id = 0 result = "" while ...
- poj 2182 给你每个数前面有几个数比他小让你输出次数的编号
POJ 2182 Lost Cows(树状数组,暴力解法) 2014年03月20日 02:00:55 阅读数:1938 标签: ACM 更多 个人分类: 数据结构--树状数组ACM--题解汇总★★AC ...
- 【C语言程序】体育老师按照学生身高编号,老师刚好排好编号,一位中等个子的男孩临时加入排列,因此老师将他排在第8号位置并重新排序他后面同学的编号。输出学生的编号。
题出自--------------------------零基础学C语言 #include<stdio.h> int main() {int i;int a[10] = { 1,2,3,4 ...
- java中输出打印 num_System.out.print。 如何将打印输出编号?(JAVA)
因此,假设我打印出500名员工的巨大记录. 在打印出记录后,我希望它看起来像: 1. Matthew J. $USD 28.404 2. Donna M. $USD 43.254 3. Jordan ...
- 约瑟夫环之循环链表实现
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开 始报数,数到m的那个人又出列:依此规律 ...
- Java_案例实例2.约瑟夫环问题
约瑟夫环问题描述: 编号为1-N的N个人按顺时针方向围坐成一圈,从第S个人开始报数(从1报起),报数为M的人出圈,再从他的顺时针方向的下一个人重新开始报数,如此下去,直至所有人出圈为止,给出N个人的出 ...
- [1197]约瑟夫问题 (循环链表)SDUT
约瑟夫问题 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n ...
- 约瑟夫问题-sdut
约瑟夫问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description n个人想玩残酷的死亡游戏,游戏规 ...
最新文章
- RAC环境下的备份与恢复(一)
- 【Java】 剑指offer(40) 最小的k个数
- java中public_java中public class与class的区别详解
- 好强大的仿生机械,这才是真正的黑科技!
- php time java_java 时间戳和PHP时间戳 的转换 php time()
- MTK驱动(75)--- MT6739平台的thermal高温充电机制调整
- VISTA中注册表项LEGACY_****的删除--另一种方法:使用psExec
- Java单元测试框架 - JUnit
- IAR教程之IAR下载和调试
- win7一点计算机就卡死,win7系统电脑经常卡住假死页面关不掉的解决方法
- C语言递归解兔子繁衍问题
- 51单片机ADDA数模转换
- Web端与移动端接入萤石云平台的视频数据
- 采用JDBC解释java SPI机制和线程上下文类加载器 —————— 开开开山怪
- 控制测量步骤及其内业计算
- 全球500强企业里用的两字母域名!
- 网站去除plugin.php小尾巴,dedecms去除首页index.html小尾巴,这种方法是错误的!
- 网卡和网卡的驱动程序
- 读书虽苦,却是最容易的那条!
- ie经常卡死是什么原因_IE6必须死的6个原因