博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #332 (Div. 2) B. Spongebob and Joke 水题
阅读量:6969 次
发布时间:2019-06-27

本文共 2031 字,大约阅读时间需要 6 分钟。

B. Spongebob and Joke

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://codeforces.com/contest/599/problem/B

Description

While Patrick was gone shopping, Spongebob decided to play a little trick on his friend. The naughty Sponge browsed through Patrick's personal stuff and found a sequence a1, a2, ..., am of length m, consisting of integers from 1 to n, not necessarily distinct. Then he picked some sequence f1, f2, ..., fn of length n and for each number ai got number bi = fai. To finish the prank he erased the initial sequence ai.

It's hard to express how sad Patrick was when he returned home from shopping! We will just say that Spongebob immediately got really sorry about what he has done and he is now trying to restore the original sequence. Help him do this or determine that this is impossible.

Input

The first line of the input contains two integers n and m (1 ≤ n, m ≤ 100 000) — the lengths of sequences fi and bi respectively.

The second line contains n integers, determining sequence f1, f2, ..., fn (1 ≤ fi ≤ n).

The last line contains m integers, determining sequence b1, b2, ..., bm (1 ≤ bi ≤ n).

Output

Print "Possible" if there is exactly one sequence ai, such that bi = fai for all i from 1 to m. Then print m integers a1, a2, ..., am.

If there are multiple suitable sequences ai, print "Ambiguity".

If Spongebob has made a mistake in his calculations and no suitable sequence ai exists, print "Impossible".

Sample Input

3 3 3 2 1 1 2 3

Sample Output

Possible 3 2 1

HINT

 

题意

给你n个f[i],m个b[i],然后问你能不能找到m个a[i],使得b[i]=f[a[i]]

题解:

暴力存一下这个数在f[i]中出现了多少次,如果没出现就输出impossilbe,如果出现多次,就多解,如果出现一次就输出这个数。(注意impossible的优先级大于多解,这是hack点

注意ai可以等于aj

代码

#include
#include
#include
#include
using namespace std;#define maxn 100005int a[maxn];int f[maxn];int b[maxn];vector
Q[maxn];int main(){ int n,m;scanf("%d%d",&n,&m); for(int i=0;i
1) flag = 1; } if(flag == 1) return puts("Ambiguity"); puts("Possible"); for(int i=0;i

 

转载地址:http://ffasl.baihongyu.com/

你可能感兴趣的文章
struts2中使用ajax so easy!!!
查看>>
Hibernate 事物隔离级别
查看>>
Linux ——记一记那恐怖的 rm -f
查看>>
C# 指针之美
查看>>
Oracle 10 参数配置说明
查看>>
解决'System.OutOfMemoryException' 的问题
查看>>
消息队列RabbitMQ和ActiveMQ的生产者流量控制
查看>>
再论 重载、覆盖、多态与函数隐藏
查看>>
Android 用户界面---菜单
查看>>
【学术报告】云山物罩 大话‘大数据’
查看>>
用Setup系列函数完成驱动卸载安装[驱动安装卸载程序]
查看>>
巧妙利用JQuery和Servlet来实现跨域请求
查看>>
JS中生成与解析JSON
查看>>
[开发记录]事件驱动中一种优雅的退出方法
查看>>
java对象转JSON JS取JSON数据
查看>>
Spring MVC 学习 之 - 拦截器
查看>>
Leetcode: Minimum Window Substring
查看>>
jQuery 时间控件推荐
查看>>
27 GroupSock概述(一)——live555源码阅读(四)网络
查看>>
获取select的 text
查看>>