codeforces 472C Design Tutorial: Make It Nondeterministic 贪心
2014-09-29 12:25
399 查看
题目链接:cf 472c
有n个人,每个人可以选择两种签名,问是否给定的顺序能否构成一个字典序排序的签名
贪心,依照指定的顺序,每次选择符合条件的字典序的最小的字符串,若当前的字符串比下一个人的两个签名的字典序都大,则无法满足
有n个人,每个人可以选择两种签名,问是否给定的顺序能否构成一个字典序排序的签名
贪心,依照指定的顺序,每次选择符合条件的字典序的最小的字符串,若当前的字符串比下一个人的两个签名的字典序都大,则无法满足
/****************************************************** * File Name: c.cpp * Author: kojimai * Creater Time:2014年09月28日 星期日 23时51分01秒 ******************************************************/ #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> using namespace std; #define FFF 100005 struct node { string s1,s2; }s[FFF]; /*struct node2 { int id,num; }p[FFF];*/ int p[FFF]; int x[FFF]; bool cmp(string s1,string s2) { int i,j; for(i=0,j=0;s1[i]!='\0'&&s2[j]!='\0';i++,j++) { if(s1[i]<s2[j]) return false; else if(s1[i]>s2[j]) return true; } if(s1[i]=='\0') return false; else return true; } int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>s[i].s1>>s[i].s2; if(cmp(s[i].s1,s[i].s2)) swap(s[i].s1,s[i].s2); } for(int i=0;i<n;i++) { cin>>p[i]; } bool flag=true; string ss=s[p[0]-1].s1; //cout<<ss<<endl; for(int i=1;i<n&&flag;i++) { //cout<<"s1="<<s[p[i]-1].s1<<" s2="<<s[p[i]-1].s2<<endl; if(cmp(ss,s[p[i]-1].s2)) flag=false; else if(cmp(ss,s[p[i]-1].s1)) ss=s[p[i]-1].s2; else ss=s[p[i]-1].s1; } if(flag) printf("YES\n"); else printf("NO\n"); return 0; }
相关文章推荐
- Codeforces 472C Design Tutorial: Make It Nondeterministic【贪心】
- CodeForces 472C Design Tutorial: Make It Nondeterministic (贪心)
- codeforces-#472C. Design Tutorial: Make It Nondeterministic(贪心)
- codeforces 679B Bear and Tower of Cubes(贪心+dfs)
- Codeforces 353C Find Maximum【贪心】
- codeforces 349C Mafia [贪心]/[二分答案]
- codeforces 540 B School Marks【贪心】
- Codeforces 788A Functions again - 贪心
- Codeforces 665C Simple Strings【暴力,贪心】
- CodeForces - 853A Planning(贪心)
- CodeForces 810B Summer sell-off 【贪心】【排序】
- CodeForces 442C Artem and Array(贪心)
- Codeforces 659C Tanya and Toys 【贪心】
- 【Codeforces 735 C Tennis Championship】+ 贪心
- codeforces 797C - Minimal string 贪心
- CodeForces #415(div2) Summer sell-off(贪心)
- Codeforces 618 D Hamiltonian Spanning Tree 贪心+dp
- Codeforces 222D Olympiad(贪心)
- 贪心-Codeforces 777B
- Codeforces 625C K-special Tables 【贪心】