题目如下
下面是我写的代码。
#include
#include
int main()
{
int n,m;
while(scanf("%d",&n)!=EOF)
{
scanf("%d",&m);
int *str,*a;
int tap = 0,x;
str = (int *)malloc(n*4);
a = (int *)malloc(m*4);
for(int i = 0 ; i < n ; i++)
{
scanf("%d",&str[i]);
if(!tap)
for(int j = 0 ; j < i ; j++)
{
if(str[j] == str[i])
tap = 1;
}
}
for(int i = 0 ; i < m ; i++)
{
int j;
scanf("%d",&x);
for(j = 0 ; j < n ; j++)
{
if(x == str[j])
{
a[i] = j+1;
break;
}
}
if(j == n)
{
tap = 2;
break;
}
}
switch(tap)
{
case 2:printf("Impossible\n");
break;
case 1:printf("Ambiguity\n");
break;
case 0:
printf("Possible\n");
for(int i = 0 ; i < m ; i++)
{
printf("%d",a[i]);
if(i < m - 1)
printf(" ");
}
printf("\n");
}
}
}