#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
vector<int> input;
//vector<int> ans;
for(int i = 0;i < n;i ++) input.push_back(i+1);
vector<int>::iterator it = input.begin();
int count = 1;
while(input.size() > 1){
if(count == m){
cout << *it << " ";
if(it != input.end()-1){
it = input.erase(it);
}
else{
input.erase(it);
it = input.begin();
}
count = 0;
}
else{
it ++;
}
count ++;
if(it == input.end()) it = input.begin();
}
cout << endl;
cout << input[0] << endl;
return 0;
}
求解约瑟夫环
最新推荐文章于 2022-04-22 16:40:01 发布