#include "iostream"
#include "stdio.h"
#include "memory.h"
using namespace std;
int citys[160];
int temp[160];
bool solve(int n, int m)
{
int r = 1;
int i, j;
citys[1] = 0;
for (i = 2, j = 1; r <= n - 2; i = i % n + 1, j = j % m + 1)
{
while (citys[i] == 0)
i = i % n + 1;
if (j % m == 0)
{
if (i == 2)
return false;
citys[i] = 0;
j = 0;
r = r + 1;
}
}
if (citys[2] != 0)
return true;
else
return false;
}
int main()
{
int n, i;
while (cin >> n && n)
{
memset(citys, 0, sizeof(citys));
for (i = 0; i <= n; i++)
citys[i] = i;
memcpy(temp, citys, sizeof(citys));
int m;
for (m = 1; ; m++)
{
memcpy(citys, temp, sizeof(citys));
if (solve(n, m))
break;
}
cout << m << endl;
}
}
zoj 1088 System Overload
最新推荐文章于 2017-06-07 22:15:23 发布