poj2470

来源:互联网 发布:淘宝客网站源码破解版 编辑:程序博客网 时间:2024/04/30 00:07

题目大意:

给N个数字,从1到N,然后按照字面的顺序重新排列。例如:
2 3 4 5 1
[1] [2] [3] [4] [5]
–>
5 1 2 3 4
[1] [2] [3] [4] [5]
判断新旧顺序是否一样

解题思路:

转换一下,进行比较即可

代码如下:

#include<iostream>using namespace std;int main(){  int n;  while(scanf("%d",&n)&&n)  {    int num[100010];    int sto[100010];    memset(num,0,sizeof(num));    memset(sto,0,sizeof(sto));    for(int i=1;i<=n;i++)    {       scanf("%d",&num[i]);      sto[num[i]]=i;    }    int flag=0;    for(int i=1;i<=n;i++)    {      if(sto[i]!=num[i])      {        printf("not ambiguous\n");        flag=1;        break;      }    }    if(!flag)      printf("ambiguous\n");  }  return 0;}
0 0
原创粉丝点击