哪个环节出问题了,vector模拟
查看原帖
哪个环节出问题了,vector模拟
162030
FWWANGys楼主2023/4/25 00:35

我的思路是,用vector 存储数据,然后用while记录剩下人数k,用CNT统计报的数,被三整除就出列,出列就从vector输出移除,同时k-1

#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main()
{
	int n,m;
	vector<int>a;
	int cnt=0;//
	int t;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{  
		a.push_back(i);
	}
	int k=n;//	
	while(k>0)//剩余人数K
{for(vector<int>::iterator it=a.begin();it!=a.end();it++)
		{	cnt++;//报数
if(cnt%m==0){//变相de数到m出列
       cout<<*it<<" ";
       k--;//出列,总人数减少
a.erase(it);/*去掉出列的*/}		}
		
	}
	return 0;
}
2023/4/25 00:35
加载中...