题解 | 打牌
打牌
https://www.nowcoder.com/practice/82442ee76977479e8ab4b88dfadfca9f
#include <iostream>
#include <string>
using namespace std;
int main() {
string a, b;
while(cin >> a >> b){
int arra[10]={0};
int shuizi[10]={0};
for(int i=0;i<a.size();i++){
arra[a[i]-'0']++;
}
for(int i=1;i<6;i++){
bool t=true;
for(int j=i;j<i+5;j++){
if(arra[j]==0){
t=false;
break;
}
}
if(t){
shuizi[i]=1;
}
}
int blen = b.size();
int bsmall = b[0]-'0';
bool flag = false;
if(blen<5){
for(int i=bsmall+1;i<10;i++){
if(arra[i]>=blen){
flag=true;
break;
}
}
// if(!flag){
// for(int i=1;i<6;i++){
// if(shuizi[i]>0){
// flag=true;
// break;
// }
// }
// }
}else{
for(int i=bsmall+1;i<6;i++){
if(shuizi[i]>0){
flag=true;
break;
}
}
}
if(flag){
cout << "YES" << endl;
}else{
cout << "NO" << endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")