蒟蒻求助各位大佬
查看原帖
蒟蒻求助各位大佬
676569
WoodReal12楼主2023/8/21 20:08
#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <time.h>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;

int a[25];
int main(){
	int n,k,m;
	while(cin>>n>>k>>m&&n!=0&&k!=0&&m!=0){
		memset(a,0,sizeof(a));
		int cnt=1,num=1,cnt2=1,num2=n;
		//官员A所数的数量,官员A现在数到的编号,官员B所数的数量,官员B现在数到的编号
		int res=n;//residual 10
		while(res){
			while(cnt<k){
				cnt++,num++;
				if(num>n)
					num=1;
				while(a[num]==1){
					if(num>n)
						num=1;
					num++;
				}
			}
			while(cnt2<m){
				cnt2++,num2--;
				if(num<1)
					num=n;
				while(a[num2]==1){
					if(num2<1)
						num2=n;
					num2--;
				}
			}
			if(num==num2){
				printf("%3d",num);
				res--;
			}
			else{
				printf("%3d%3d",num,num2);
				res-=2;
			}
			if(res)
				cout<<',';
			cnt=0,cnt2=0,a[num]=1,a[num2]=1;
		}
		cout<<endl;
	} 
	return 0;
}

代码样例最后四个数字会输出负数?求解答!rt

2023/8/21 20:08
加载中...