codeforces C. Design Tutorial: Make It Nondeterministic

简介:
题意:每一个人 都有frist name 和 last name! 从每一个人的名字中任意选择
first name 或者 last name 作为这个人的编号!通过对编号的排序,得到每一个人

最终顺序!比较中的序列能否得到给定输出的序列一致!


#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<map>
#include<algorithm>
#define N 100005
using namespace std;

int p[N];
string name[2*N];
map<string, int>mp;//将每一个人名字映射到是第几个人 


int main(){
    int n; 
    int cnt=0;
    cin>>n;
    for(int i=1; i<=n; ++i){
        cin>>name[cnt++]>>name[cnt++];
        mp.insert(make_pair(name[cnt-2], i));
        mp.insert(make_pair(name[cnt-1], i));
    }
    for(int i=1; i<=n; ++i)//每个人的排序之后的序列 
        cin>>p[i]; 
    sort(name, name+cnt);//排序 
    int k = 1;
    for(int i=0; i<cnt; ++i)//贪心 
        if(mp[name[i]] == p[k]){
            ++k;
            if( k > n) break;
        }
    if(k>n) cout<<"YES";
    else cout<<"NO";
    cout<<endl;      
    return 0;
}


目录
相关文章
|
安全 内存技术
读书笔记系列 - Operating Systems: Three Easy Pieces - Intro
读书笔记系列 - Operating Systems: Three Easy Pieces - Intro
120 0
Design Tutorial: Learn from Math
Design Tutorial: Learn from Math
100 0
Design Tutorial: Learn from Math
|
SQL XML 人工智能
Hands-on data analysis 第一章
Hands-on data analysis 第一章
133 0