ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

约瑟夫环问题-hebust

2020-02-06 18:07:25  阅读:297  来源: 互联网

标签:逗号 出列 int 元素 约瑟夫 问题 hebust include


约瑟夫环问题

约瑟夫环是一个数学的应用问题:已知n个人(以编号a,b,c…分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

输入格式:
固定为2行,第一行为m,第二行为n个人的名称列表,用英文字母代表,元素直接使用英文逗号 , 分开

输出格式:
一行,为出列元素序列,元素之间使用英文逗号 , 分开【注意:末尾元素后没有逗号】

输入样例:
在这里给出一组输入。例如:

3
a,b,c,d,e,f,g

输出样例:
在这里给出相应的输出。例如:

c,f,b,g,e,a,d

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int vis[1000];
int main ()
{
	char a[1000],t;
	vector<char>s;
	int m,i=1,ans=0,j=1;
	scanf("%d",&m);
	getchar;
	while(~scanf("%c",&t)){
		if(t>='a'&&t<='z')
		a[i++]=t;
	}
	 j=1;
	while(1){
		if(!vis[j])
		ans++;
		if(ans==m){
		s.push_back(a[j]);
		ans=0;
		vis[j]=1;
		}
		j++;
		if(j==i)
		j=1;
		if(s.size()==i-1)
		break;
	}
	for(int i=0;i<s.size();i++){
		if(i==0)
		printf("%c",s[i]);
		else
		printf(",%c",s[i]);
	}
	return 0;
}
院长i 发布了85 篇原创文章 · 获赞 94 · 访问量 9991 私信 关注

标签:逗号,出列,int,元素,约瑟夫,问题,hebust,include
来源: https://blog.csdn.net/zp1455604302/article/details/104199691

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有