// UVa 151 - Power Crisis
#include <iostream>
#include <vector>
using namespace std;
int josephus(int n, int m) {
vector<int> v;
for (int i = 1; i <= n; i++)
v.push_back(i);
int now = 0;
while (v.size() > 1) {
if (v[now] == 13)
return 0;
v.erase(v.begin() + now);
now += m - 1;
if (now >= v.size())
now = now % v.size();
}
return v[0];
}
int main() {
int n;
cin >> n;
for (; n; cin >> n) {
if (n == 13)
cout << 1 << endl;
else {
int sol = 0;
for (int i = 2; true; i++) {
if (josephus(n, i) == 13) {
sol = i;
break;
}
}
cout << sol << endl;
}
}
return 0;
}
Saturday, June 6, 2015
UVa 151 - Power Crisis
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment