二维数组的应用
题目:
根纳迪在乡下开了一家小旅馆,过着平静的生活。他喜欢长途跋涉,看日落,和住在酒店里的游客打牌。他最喜欢的游戏叫“毛毛”。
要玩毛毛,你需要一包52个
卡。每张卡有一套(钻石-D,梅花-C,黑桃-S,红桃-H)和一个等级(2,3,4,5,6,7,8,9,T,J,Q,K,或A)。
比赛开始时,桌上有一张牌,你手里有五张牌。当且仅当牌的等级或套装与桌上的牌相同时,才可以用手打牌。
为了确认你是否是一个好的搭档,根纳迪为你准备了一个任务。给你桌上的牌和手上的五张牌,检查你是否至少能打一张牌。
输入的第一行包含一个描述表上卡片的字符串。第二行包含五个字符串,描述你手中的牌。
每个字符串有两个字符长。第一个字符表示秩,属于集合{2,3,4,5,6,7,8,9,t,j,q,k,a}
是的。第二个字符表示套装,属于集合{d,c,s,h}
是的。
输入中的所有卡都不同。
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[2];
cin>>a;int f=0;
string b[5];
int i;
for(i=0;i<=4;i++)
cin>>b[i];
for(i=0;i<=4;i++)
{
if(a[0]==b[i][0]||a[1]==b[i][1])
f=1;
}
if(f==1)
cout<<"YES";
else
cout<<"NO";
return 0;
}
string 定义了字符串数组后,用二维数组b[i][0],b[i][1],来表示
各字符串的第一个字符,第二个字符。