孩子报数问题

在这里插入图片描述在这里插入图片描述

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <string>
using namespace std;
queue<string> s;
int main()
{
    
    
	int n,p,q,i;
	scanf("%d",&n);
	while(n--)
	{
    
    
		string a;
		cin>>a;
		s.push(a);
	}
	scanf("%d,%d",&p,&q);
	for(i=1;i<p;i++)
	{
    
    
		s.push(s.front());  //处理从第几个孩子开始报数 
		s.pop();
	}
	i=1;
	while(s.size()>0)
	{
    
    
		if(i%q==0)     //报道第q个孩子弹出 
		{
    
    
			cout<<s.front()<<endl;
			s.pop();
		}
		else         //否则压如队尾 
		{
    
    
			s.push(s.front());
			s.pop();
		}
		i++;
	}
}

原文链接:https://blog.csdn.net/hz18790581821/article/details/52224918?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160784191919726891189341%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160784191919726891189341&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-52224918.first_rank_v2_pc_rank_v29&utm_term=%E5%B0%8F%E5%AD%A9%E6%8A%A5%E6%95%B0%E9%97%AE%E9%A2%98&spm=1018.2118.3001.4449

猜你喜欢

转载自blog.csdn.net/weixin_45988242/article/details/111143384