10pts 求调
  • 板块P1145 约瑟夫
  • 楼主_7Mr
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/4/25 22:30
  • 上次更新2023/10/23 17:31:43
查看原帖
10pts 求调
602632
_7Mr楼主2023/4/25 22:30
#include<bits/stdc++.h>
using namespace std;
int a[20];
int k;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	cin>>k;
	for(int m=1; m<=2*k; m++) {
		for(int i=1; i<=k; i++) a[i]=1;
		int flag=1;
		int sum=0,i=1,zs=0,hr=0;
		while(true) {
			int zc=sum;
			zc++;
			zc=(zc-1)%(2*k)+m;
			if(a[zc]==-1) continue;
			sum++;
			sum=(sum-1)%(2*k)+1;
			if(sum==m) {
				if(a[sum]==1){
					flag=0;
					break;
				}
				hr++;
				a[sum]=-1;
				zs++;
			}
			if(hr==k){
				cout<<m;
				return 0;
			}
			if(zs>2*k) break;
		}
		if(flag) {
			cout<<m<<endl;
			return 0;
		}
	}
	return 0;
}

2023/4/25 22:30
加载中...