【问题描述】
松雅自己拥有多间旅馆,有时候她会在她自己的旅馆里跟她的顾客玩纸牌。
纸牌有52张,每张牌有一个花色,用一个大写字母表示(D-方片、C-草花、S-黑桃、H-红心),同时还有一个点数(2、3、4、5、6、7、8、9、T、J、Q、K、A),因此每张牌可以用两个字符来表示,例如2H,注意点数在前,花色在后,表示这张牌为红心2。
开始时,桌面上有一张牌,玩家手中有5张牌,如果桌面上的牌的点数或者花色与玩家手中的任意一张牌的点数或者花色相同,则玩家赢得这张牌,输出“YES”,否则输出“NO”。
【输入形式】
输入的第一行为一个字符串(两个字符),表示桌面上的牌。
接下来的5行,每行一个字符串(两个字符),表示玩家手中的5张牌
【输出形式】
如果玩家能赢得桌面的牌,则输出“YES”,否则输出“NO”。
【样例输入1】
AS 2H 4C TH JH AD
【样例输出1】
YES
【样例输入2】
2H 3D 4C AC KD AS
【样例输出2】
NO
#include <iostream>
using namespace std;
int main(){
string a[1]; //输入字符串用string类型
cin>>a[0];
string b[5];
for (int i=0;i<5;i++){
cin>>b[i];
}
int flag=0;
for (int i=0;i<5;i++){
for (int j=0;j<2;j++){
if (a[0][0]==b[i][0]||a[0][1]==b[i][1]){ //比较开始的牌的第一个数和第二个数
flag+=1;
}
}
}
if(flag!=0){ //只要出现了能赢的,就加1
cout<<"YES";
}
else {
cout<<"NO";
}
return 0;
}