出牌,用程序判断手中的牌是否能够压过对方出牌
//规则:出牌牌型有5种
//牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。
//[1]一张 如4 则5...9可压过
//[2]两张 如44 则55,66,77,...,99可压过
//[3]三张 如444 规则如[2]
//[4]四张 如4444 规则如[2]
//[5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。
//输入: 输入有多组数据。
//每组输入两个字符串(字符输出: 压过输出YES 否则NO。
//串大小不超过100)a,b。a字符串代表手中牌,b字符串代表处的牌。
//样例输入: 12233445566677
//33
//123344556667799
//888
//样例输出: YES
//NO
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int cmp(char a,char b)
{
return a<b;
}
void main()
{
char s1[100];
char s2[100];
gets(s1);
gets(s2);
int len1=strlen(s1);
int len=strlen(s2);
sort(s1,s1+len1,cmp);
int i=0;
char *a="YES";
char *b="NO";
char *c;
if(len==1)
{
while(s1[i]!='\0')
{
if(s1[i]>s2[0])
{
c=a;
break;
}
else
i++;
}
if(i==len)
c=b;
}
if(len==2)
{
while(s1[i]!='\0')
{
if(len-i<2)
{
c=b;
break;
}
else
{
if(s1[i]>s2[0]&&s1[i+1]==s1[i])
{
c=a;
break;
}
else
i+=2;
}
}
if(i==len)
c=b;
}
if(len==3)
{
while(s1[i]!='\0')
{
if(len-i<3)
{
c=b;
break;
}
else
{
if(s1[i]>s2[0]&&s1[i+1]==s1[i]&&s1[i+2]==s1[i])
{
c=a;
break;
}
else
i+=4;
}
}
if(i==len)
c=b;
}
if(len==4)
{
while(s1[i]!='\0')
{
if(len-i<4)
{
c=b;
break;
}
else
{
if(s1[i]>s2[0]&&len-i>=4&&s1[i+1]==s1[i]&&s1[i+2]==s1[i]&&s1[i+3]==s1[i])
{
c=a;
break;
}
else
i+=4;
}
}
if(i==len)
c=b;
}
if(len==5)
{
while(s1[i]!='\0')
{
if(len-i<5)
{
c=b;
break;
}
else
{
if(s1[i]>s2[0]&&len-i>=5&&s1[i+1]-'1'==s1[i]&&s1[i+2]-'1'==s1[i+1]&&s1[i+3]-'1'==s1[i+2]&&s1[i+4]-'1'==s1[i+3])
{
c=a;
break;
}
else
i++;
}
}
if(i==len)
c=b;
}
cout<<c<<endl;
}
出牌,用程序判断手中的牌是否能够压过对方出牌相关推荐
- 代码实现对麻将的听牌分析(判断什么牌能胡)
文章目录 前言 一.游戏规则 二.分析流程 三.写代码 前言 emmmmm,好久没发文章了上次发还是在上次 hxdm动动你们发财的小手指点点赞鸭,快没动力了,呜呜呜~ 前几天面试,要求做一个类似麻将的 ...
- 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(1-12)|| 运算符的优先级问题 ||输出小写的a-z以及大写的Z—A||求出1-1/2+1/3-1/4…..1/
判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数, 其各个位上数字立方和等于其本身.例如: 153 = 1*1*1 + 5*5*5 + 3*3*3 ...
- Java黑皮书课后题第7章:**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题。编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌
**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题.编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌 题目 题目描述与运行示例 破题:花色与数字 代码 题 ...
- Java黑皮书课后题第3章:**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小、花色
**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小.花色 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.24(游戏:抽牌)编写程序,模拟从一副52张 ...
- 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)
模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...
- 抖音本地生活服务商贴牌小程序
作为社交电商平台的一部分,抖音本地生活服务的市场前景非常广阔.以下是抖音本地生活服务商市场前景的几个方面: 巨大的用户群体:抖音拥有数亿的用户,这些用户中有很多人需要本地生活服务,如美食.酒店 ...
- 判断玫瑰花数c语言程序设计教程课后答案,编写程序判断某个四位整数是否为玫瑰花数(用自定义函数)...
用C语言编写判断输入的某个数m是否为素数 //判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是不是素数!#include#includemain(){i ...
- 关于洗牌的研究(六)——从数学到魔术之完美洗牌
爱学习,勤思考:学数学,玩魔术.欢迎点击头部蓝字关注MatheMagician,这里有你要的奇迹! 写再前面:本系列作品由MathMagician独家首发,一共有七篇,从数学和魔术两个角度对日常生活中 ...
- python编写一个程序、输入一个数判断其是偶数还是奇数_编写一个程序,判断用户输入的整数是偶数还是奇数。 (7.0分)_学小易找答案...
[其它]已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1] (6.0分) [其它]阅读下面的程序,分析代码是否可以编译通过,如果能编译通过,请列出运行 ...
最新文章
- 关于与同事相处的一些学问
- 数据结构与算法:归并排序
- wow服务器已满 队列位置5,《魔兽世界》前夕版本中“碧空之歌”排队人数近万,有必要排吗?...
- wenbao与最优比率生成树
- 升级MariaDB为10.1版本
- java: 程序包com.alibaba.fastjson不存在_Java开发中的异常
- docker mysql5.7 主从_docker-compose mysql5.7.30 主从
- Rails 使用 Google Analytics 示例
- 安卓手机端口号怎么查看_微信小程序怎么查看手机便签待办事项?
- Unity 3D安装教程
- 云防护是什么?为何使用云防护?
- 算法题 - 卡牌游戏问题 - Python
- Scrum立会报告+燃尽图(Beta阶段第五次)
- 如何有效提升你的论证写作能力?
- BP综述:自闭症中基于功能连接体的预测模型
- 计算机高新技术考试(OSTA)认证考试招生简章
- Unity-ShaderLab 逆向还原《原神》角色卡通渲染思路与实现(保姆级教学)-2
- vivo Y83的Usb调试模式在哪里,打开vivo Y83Usb调试模式的教程
- android 自定义推送布局_Android之极光推送发送自定义消息
- 算法实现——树的最大连通分支问题