首页 > 代码库 > 暴力解hdu4930Fighting the Landlords
暴力解hdu4930Fighting the Landlords
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int a[20],b[20],na,nb; bool cmp(int aa,int bb) { return aa<bb; } void in() { int i; char s1[20],s2[20]; scanf("%s%s",s1,s2); na=strlen(s1); nb=strlen(s2); for(i=0;i<na;i++) { if(s1[i]=='T') a[i]=8; else if(s1[i]=='J') a[i]=9; else if(s1[i]=='Q') a[i]=10; else if(s1[i]=='K') a[i]=11; else if(s1[i]=='A') a[i]=12; else if(s1[i]=='2') a[i]=13; else if(s1[i]=='X') a[i]=14; else if(s1[i]=='Y') a[i]=15; else a[i]=s1[i]-'0'-2; } for(i=0;i<nb;i++) { if(s2[i]=='T') b[i]=8; else if(s2[i]=='J') b[i]=9; else if(s2[i]=='Q') b[i]=10; else if(s2[i]=='K') b[i]=11; else if(s2[i]=='A') b[i]=12; else if(s2[i]=='2') b[i]=13; else if(s2[i]=='X') b[i]=14; else if(s2[i]=='Y') b[i]=15; else b[i]=s2[i]-'0'-2; } sort(a,a+na,cmp); sort(b,b+nb,cmp); } bool j0()//0 { int i; if(na>6) return 0; if(na==1||na==0) return 1; if(na==2) { if(a[0]==a[1]||(a[0]==14&&a[1]==15)) return 1; } else if(na==3) { if(a[0]==a[1]&&a[1]==a[2]) return 1; } else if(na==4) { if(a[0]==a[1]&&a[1]==a[2]) return 1; if(a[1]==a[2]&&a[2]==a[3]) return 1; } else if(na==5) { if(a[0]==a[1]&&a[1]==a[2]&&a[3]==a[4]) return 1; if(a[0]==a[1]&&a[2]==a[3]&&a[3]==a[4]) return 1; } else { if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]) return 1; if(a[1]==a[2]&&a[2]==a[3]&&a[3]==a[4]) return 1; if(a[2]==a[3]&&a[3]==a[4]&&a[4]==a[5]) return 1; } return 0; } int j1()//zz { int i,j; if(a[na-1]==15&&a[na-2]==14) return 1; if(nb>1) { if(b[nb-1]==15&&b[nb-2]==14) return -1; } for(i=na-1;i>2;i--) if(a[i]==a[i-1]&&a[i-1]==a[i-2]&&a[i-2]==a[i-3]) break; for(j=nb-1;j>2;j--) if(b[j]==b[j-1]&&b[j-1]==b[j-2]&&b[j-2]==b[j-3]) break; if(i>2&&j<3) return 1; if(j>2&&i<3) return -1; if(i>2&&j>2) { if(a[i]>b[j]) return 1; if(a[i]<b[j]) return -1; } return 0; } bool j2()//1 { return a[na-1]>=b[nb-1]; } bool j3()//2 { int i,j; for(i=na-1;i>0;i--) if(a[i]==a[i-1]) break; if(i==0) return 0; if(nb<2) return 1; for(j=nb-1;j>0;j--) if(b[j]==b[j-1]) break; if(j==0) return 1; return a[i]>=b[j]; } bool j4()//3 { int i,j,ii,jj; if(na<3) return 0; for(i=na-1;i>1;i--) if(a[i]==a[i-1]&&a[i-1]==a[i-2]) break; if(i==1) return 0; for(j=nb-1;j>1;j--) if(b[j]==b[j-1]&&b[j-1]==b[j-2]) break; if(j==1) return 1; if(a[i]>b[j]) return 1; if(na>3&&nb==3) return 1; for(ii=na-1;ii>0;ii--) { if(a[ii]==a[i]) continue; if(a[ii]==a[ii-1]) break; } if(ii==0) return 0; for(jj=nb-1;jj>0;jj--) { if(b[jj]==b[j]) continue; if(b[jj]==b[jj-1]) break; } if(jj==0) return 1; return 0; } int main() { int exp,t; scanf("%d",&exp); while(exp--) { in(); if(na==0) { puts("Yes"); continue; } else if(nb==0) { puts("No"); continue; } if(j0()) puts("Yes"); else { t=j1(); if(t==1) puts("Yes"); else if(t==-1) puts("No"); else { if(j2()||j3()||j4()) puts("Yes"); else puts("No"); } } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。