poj 2470 Ambiguous permutations

//第一次用了cin竟然超时了,我晕! 
#include<iostream>
#include<cstdio>
using namespace std;

int p[100010], ans[100010];

int main()
{
    int num, i;
    bool flag;
    while (scanf("%d", &num)){
          if (num == 0)  break;
          flag = false;
          for (i = 1; i <= num; i++){
              scanf("%d", &p[i]);
              ans[p[i]] = i;//用给出的排序,再构造一个排序,看这个排序是否与原来的排列相同 
          }
          for (i = 1; i <= num; i++){
              if (ans[i] != p[i]){
                   flag = true;
                   break;
              }
          }
          if (flag)
             printf("not ambiguous\n");
          else
             printf("ambiguous\n");
    }
    
    system("pause");
}

你可能感兴趣的:(poj 2470 Ambiguous permutations)