【CodeForces】[599B]Spongebob and Joke
记录数字出现次数及坐标
然后读取时判断能不能对应
最后判断输出方式
#include<stdio.h>
#include<string.h>
int cnt[100200],res[100200];
int a[100200];
int main() {
int n,m;
while(scanf("%d %d",&n,&m)!=EOF) {
memset(cnt,0,sizeof(cnt));
memset(res,0,sizeof(res));
for(int i=1; i<=n; i++) {
int t;
scanf("%d",&t);
cnt[t]++;
res[t]=i;
}
int flag=0;
for(int i=1; i<=m; i++) {
scanf("%d",&a[i]);
if(flag<2) {
if(cnt[a[i]]==0)
flag=2;
else if(cnt[a[i]]>1)
flag=1;
}
}
if(flag==0) {
printf("Possible\n");
for(int i=1; i<=m; i++) {
printf("%d",res[a[i]]);
if(i==m)
printf("\n");
else
printf(" ");
}
} else if(flag==1)
printf("Ambiguity\n");
else
printf("Impossible\n");
}
return 0;
}