蜘蛛纸牌
最编程
2024-04-20 22:08:36
...
描述
Windows下有一款游戏叫“蜘蛛纸牌”,无聊的时候可以打发时间,由于仅仅打发时间,因此不想消耗脑细胞,CRQ准备玩最简单的“单色”模式,即全部都是“黑桃”的牌。游戏规则是对于点数相邻的两张牌,你可以将点数小的牌移动到点数大的上面,不断移动直到所有的牌都按先大后小的顺序叠成若干列就算过关。游戏菜单下还有一个功能是“显示可行的操作”用于提示当前是否还有可行的操作,由于CRQ仅仅打发时间,因此玩不下去时也经常执行该操作。现在的问题是:假设你是游戏的设计者,如何实现“显示可行的操作”这个功能?
为了简化问题,我们只判断最上面的那张牌还可不可以移动到别的牌上。
输入
输入数据有多组,每组10个整数,代表最上面那张牌的分值,每个整数取值是1~13,分别对应A、2、3、4、5、6、7、8、9、10、J、Q、K这些牌面分值。
输出
对于每组数据均输出一行,如果还有可行的操作,请输出YES,否则输出NO。
样例输入
2 4 2 5 6 4 7 13 6 2
1 1 1 1 1 1 1 1 3 5
样例输出
YES
NO
#include <iostream>
#include <algorithm>
int a[13];
using namespace std;
int main()
{
while(cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9])
{
sort(a,a+10);
for(int i=0;i<9;i++)
{
if(a[i]+1==a[i+1])
{
cout<<"YES"<<endl;
break;
}
if(i==8)
{
cout<<"NO"<<endl;
}
}
}
return 0;
}
下一篇: hdu 1584 蜘蛛接龙