以下网站有问题。
http://www.codechef.com/problems/PERMUT2
我一直在尝试为PERMUT2编写解决方案。我的以下解决方案在某些测试用例上失败了。请帮助我发现以下代码中的缺陷。
#include <stdio.h>
int a[100000];
int main()
{
int i, j, n, ret;
while(1)
{
scanf("%d", &n);
if(n == 0)
break;
ret = 0;
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(i = 0; i < n; i++)
if(a[i] != i + 1)
ret++;
if(ret % 2 == 0)
printf("ambiguous\n");
else
printf("not ambiguous\n");
}
return 0;
}