关闭

Codeforces Round #332 (Div. 2)B. Spongebob and Joke(模拟)

193人阅读 评论(0) 收藏 举报
分类:

题目链接
题意:给出一个f序列,和b序列,问是否存在a序列,使得f[a[i]]==b[i]
成立。只有一组解就输出possible,和a序列,多组解,输出Ambiguity
否则输出impossible
解答:对于impossibe我们直接看b序列的数是不是都能在f序列找到
,对于多解,只要b序列在f序列有多个值对应即可,否则就只有一组解,直接映射回去即可。



#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define X first
#define Y second
#define cl(a,b) memset(a,b,sizeof(a))
typedef pair<int,int> P;
const int maxn=100005;
const LL inf=1<<27;
const LL mod=1e9+7;
int f[maxn],b[maxn];
int pos[maxn];
int tt[maxn];
vector<int> ans;
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        scanf("%d",&f[i]);
        pos[f[i]]++;
        tt[f[i]]=i;
    }
    for(int i=1;i<=m;i++){
        scanf("%d",&b[i]);
    }
    for(int i=1;i<=m;i++){
        if(pos[b[i]]==0){return puts("Impossible");}
    }
    for(int i=1;i<=m;i++)if(pos[b[i]]>1){
        return puts("Ambiguity");
    }
    for(int i=1;i<=m;i++){
        ans.pb(tt[b[i]]);
    }
    printf("Possible\n%d",ans[0]);
    for(int i=1;i<ans.size();i++){
        printf(" %d",ans[i]);
    }
    puts("");
    return 0;
}
0
0
查看评论

Codeforces Round #378 (Div. 2) E. Sleep in Class

链接:http://codeforces.com/contest/733/problem/E 题意:给一个只含'U'和'D'的字符串,U表示向右走,D表示向左走。每个格子踩一次之后翻转(U变D,D变U),求从每个格子出发走多少步才能走到位置小于1或大于n。 分析:...
  • Fsss_7
  • Fsss_7
  • 2016-11-15 13:48
  • 358

Codeforces Round #258 (Div. 2)-(A,B,C,D,E)

A:Game With Sticks 水题。。。每次操作,都会拿走一个横行,一个竖行。 所以一共会操作min(横行,竖行)次。 #include #include #include #include #include #include #include #include #pragma commen...
  • rowanhaoa
  • rowanhaoa
  • 2014-07-25 14:39
  • 1470

Codeforces Round #332 (Div. 2) B. Spongebob an Joke (水)

B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output While Pa...
  • helloiamclh
  • helloiamclh
  • 2016-01-01 19:28
  • 239

Codeforces Round #332 (Div. 2) B. Spongebob and Joke

题意:若第三行的数在第二行的数中出现过,并且全部为出现1次的,则输出possible,并输出其对应的在第二行中的位置。若出现过两次,则输出Ambiguity,否则,输出Impossible.#include #include #include using namespace std; const i...
  • zyx520ytt
  • zyx520ytt
  • 2015-11-21 10:58
  • 193

Codeforces Round #332 (Div. 2) B. Spongebob and Joke

B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard o...
  • ZZ_AC
  • ZZ_AC
  • 2015-11-21 14:12
  • 262

【解题报告】Codeforces Round #401 (Div. 2)

简略的解题报告。
  • TRiddle
  • TRiddle
  • 2017-02-25 17:55
  • 408

Codeforces Round #332 (Div. 2)_B. Spongebob and Joke

B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard o...
  • xiaotan1314
  • xiaotan1314
  • 2015-11-21 04:02
  • 479

Codeforces Round #332 (Div. 2) B. Spongebob and Joke(水题,构造)

B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ...
  • just_sort
  • just_sort
  • 2016-09-07 22:30
  • 161

Codeforces Round #395 (Div. 2)(ABCD)

ps:打完这场cf才知道自己真的很菜,还是停留在AB题的水平,有时候CD其实很简单,但就是想不到,别人一眼看出而我就是想不到,有时候想到了点子上但就是突破不了 题目链接:  Codeforces Round #395 (Div. 2) A题: &...
  • qq_34731703
  • qq_34731703
  • 2017-02-03 12:50
  • 486

Codeforces Round #362 (Div. 2)B. Barnicle(较坑模拟【菜鸡与大佬的区别】)

题目链接:http://codeforces.com/contest/697/problem/B【中文题意】给你一个浮点数的计数法表示形式,然后表示出他的正常形式,表示出的数不能有前导0也不能有后导0。 【思路分析】直接模拟就好了,注意几个坑:1. 0.0e0的时候 2. 1.0e0的时候。...
  • qq_32866009
  • qq_32866009
  • 2017-02-08 15:44
  • 138
    个人资料
    • 访问:206034次
    • 积分:7053
    • 等级:
    • 排名:第3879名
    • 原创:522篇
    • 转载:3篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论