POJ 3517 And Then There Was One( 约瑟夫环模板 )
**链接:****传送门 **
题意:典型约瑟夫环问题
约瑟夫环模板题:n个人( 编号 1~n )在一个圆上,先去掉第m个人,然后从m+1开始报1,报到k的人退出,剩下的人继续从1开始报数,求最后剩的人编号
/*************************************************************************
    > File Name: poj3517.cpp
    > Author:    WArobot
    > Blog:      http://www.cnblogs.com/WArobot/
    > Created Time: 2017年05月10日 星期三 14时49分41秒
 ************************************************************************/
#include<cstdio>
using namespace std;
int Joseph(int n,int k,int m){
	int d , s = 0;
	for(int i = 2 ; i<= n ; i++)	s = ( s + k ) % i;
	k %= n;
	if( k == 0 )	k = n;
	d = ( s + 1 ) + ( m - k );
	if( d >= 1 && d <= n )	return d;
	else if( d < 1 )		return d + n;
	else if( d > n )		return d % n;
}
int main(){
	int n,k,m;
	while(~scanf("%d%d%d",&n,&k,&m) , n||k||m ){
		printf("%d\n",Joseph(n,k,m));
	}
	return 0;
}												
											POJ 3517 And Then There Was One( 约瑟夫环模板 )的更多相关文章
- Poj 3517 And Then There Was One(约瑟夫环变形)
		
简单说一下约瑟夫环:约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个 ...
 - poj 1012 & hdu 1443 Joseph(约瑟夫环变形)
		
题目链接: POJ 1012: id=1012">http://poj.org/problem?id=1012 HDU 1443: pid=1443">http:// ...
 - (顺序表应用5.1.1)POJ 3750 小孩报数问题(基本的约瑟夫环问题:给出人数n,出发位置w,间隔数s)
		
/* * POJ_3750.cpp * * Created on: 2013年10月30日 * Author: Administrator */ #include <iostream> # ...
 - UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)
		
UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There W ...
 - poj   3517
		
题目链接 http://poj.org/problem?id=3517 题意 约瑟夫环 要求最后删掉的那个人是谁: 方法 理解递推公式就行了 考虑这样一组数据 k ...
 - POJ 2359 Questions(约瑟夫环——数学解法)
		
题目链接: http://poj.org/problem?id=2359 题意描述: 输入一个字符串 按照下面的规则,如果剩下的最后一个字符是'?',输出"Yes",如果剩下的最后 ...
 - Joseph POJ - 1012  约瑟夫环递推
		
题意:约瑟夫环 初始前k个人后k个人 问m等于多少的时候 后k个先出去 题解:因为前k个位置是不动的,所以只要考虑每次递推后的位置在不在前面k个就行 有递推式 ans[i]=(ans[i-1]+m ...
 - POJ 2886 Who Gets the Most Candies?(线段树·约瑟夫环)
		
题意 n个人顺时针围成一圈玩约瑟夫游戏 每一个人手上有一个数val[i] 開始第k个人出队 若val[k] < 0 下一个出队的为在剩余的人中向右数 -val[k]个人 val[k ...
 - C#实现约瑟夫环问题
		
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace orde ...
 
随机推荐
- WEBGL学习【七】画布绘图
			
主要是对WEBGL的绘图部分进行了进一步加强的认识和理解 <!DOCTYPE HTML> <html lang="en"> <head> < ...
 - 关于linux系统的sendmail使用中的问题与解决
			
系统环境是ubuntu16.04 安装 sudo apt-get install sendmail 检查运行情况 sudo service sendmail status 结果如下,表示正在运行 ● ...
 - nyoj158-省赛来了
			
省赛来了 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 一年一度的河南省程序设计大赛又要来了. 竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名. 现在问题就 ...
 - Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
			
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存 参考:<linux编程从入门到精通>,<Linux C程序设计大全>,<unix环境高级编程> ...
 - Linux设备驱动--块设备(一)之概念和框架(转)
			
基本概念 块设备(blockdevice) --- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性 ...
 - 2019-04-03 Anaconda+VSCode搭建python开发环境,并连接GIthub
			
1.最好的Python开发环境 :Anaconda+VSCode搭建python开发环境,conda提供了python开发环境和大量的你不用安装的库 conda的环境变量: 直接在conda 中下载启 ...
 - 【ACM-ICPC 2018 南京赛区网络预赛 J】Sum
			
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 线性筛求出每个数的最小质因子x for 从1-n 对于i,它的最小质因子为x 考虑i=ab 如果i能被x^3整除 那么这x怎么分配给 ...
 - Springboot分布式锁实践(redis)
			
springboot2本地锁实践一文中提到用Guava Cache实现锁机制,但在集群中就行不通了,所以我们还一般要借助类似Redis.ZooKeeper 之类的中间件实现分布式锁,下面我们将利用自定 ...
 - Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
			
Java ZIP压缩和解压缩文件(解决中文文件名乱码问题) 学习了:http://www.tuicool.com/articles/V7BBvy 引用原文: JDK中自带的ZipOutputStrea ...
 - android 九宫格(16宫格)控件
			
public class NineRectView extends ViewGroup { private Context ctx; private int wSize,hSize,row,colum ...