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;
}


目录
相关文章
Design Tutorial: Learn from Math
Design Tutorial: Learn from Math
106 0
Design Tutorial: Learn from Math
|
iOS开发 开发者 C++
Effective Objective-C 2.0 Tips 总结 Chapter 5,6,7
Effective Objective-C 2.0 Tips 总结 Chapter 5,6,7 Chapter 5 内存管理 Tips 29 理解引用计数 引用计数是 Objective-C 内存管理的基础,包括 ARC 也是建立在引用计数的基础之...
1292 0