问题描述
判断54张牌能否排成一副扑克牌。每一张都是1-54中不重复的数。如果能,请输出:YES,否者输出:NO。
解题思路
1、有一个数组来储存一组数
2、找出他的下一个数
3、每次刷新数组的数
4、找到全组,则输出“YES”,如果没有找到下一个,则直接输出“NO”
#include<iostream>
using namespace std;
int b[56],a,x,y,i,j,k,tmp;
int main()
{
cin>>a;//输入牌的数量
for(i=1;i<=a;i++)//利用循环判断这些数是否挨着
{
cin>>tmp;//输入数组
b[tmp]++;//如果找到下一个数,就更新数组的值
}
for(j=1;j<=a;j++)//利用循环多次进行判断
{
if(b[j]==0)//如果数组中有一个数等于0,
{
cout<<"NO"<<endl;//则输出NO
return 0;
}
}
cout<<"YES"<<endl;//如果数组符合要求,则输出YES
return 0;
}