//规则:出牌牌型有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;

}

出牌,用程序判断手中的牌是否能够压过对方出牌相关推荐

  1. 代码实现对麻将的听牌分析(判断什么牌能胡)

    文章目录 前言 一.游戏规则 二.分析流程 三.写代码 前言 emmmmm,好久没发文章了上次发还是在上次 hxdm动动你们发财的小手指点点赞鸭,快没动力了,呜呜呜~ 前几天面试,要求做一个类似麻将的 ...

  2. 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(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                 ...

  3. Java黑皮书课后题第7章:**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题。编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌

    **7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题.编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌 题目 题目描述与运行示例 破题:花色与数字 代码 题 ...

  4. Java黑皮书课后题第3章:**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小、花色

    **3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小.花色 题目 题目概述 运行示例 破题 代码 题目 题目概述 **3.24(游戏:抽牌)编写程序,模拟从一副52张 ...

  5. 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)

    模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...

  6. 抖音本地生活服务商贴牌小程序

    作为社交电商平台的一部分,抖音本地生活服务的市场前景非常广阔.以下是抖音本地生活服务商市场前景的几个方面:     巨大的用户群体:抖音拥有数亿的用户,这些用户中有很多人需要本地生活服务,如美食.酒店 ...

  7. 判断玫瑰花数c语言程序设计教程课后答案,编写程序判断某个四位整数是否为玫瑰花数(用自定义函数)...

    用C语言编写判断输入的某个数m是否为素数 //判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是不是素数!#include#includemain(){i ...

  8. 关于洗牌的研究(六)——从数学到魔术之完美洗牌

    爱学习,勤思考:学数学,玩魔术.欢迎点击头部蓝字关注MatheMagician,这里有你要的奇迹! 写再前面:本系列作品由MathMagician独家首发,一共有七篇,从数学和魔术两个角度对日常生活中 ...

  9. python编写一个程序、输入一个数判断其是偶数还是奇数_编写一个程序,判断用户输入的整数是偶数还是奇数。 (7.0分)_学小易找答案...

    [其它]已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1] (6.0分) [其它]阅读下面的程序,分析代码是否可以编译通过,如果能编译通过,请列出运行 ...

最新文章

  1. 关于与同事相处的一些学问
  2. 数据结构与算法:归并排序
  3. wow服务器已满 队列位置5,《魔兽世界》前夕版本中“碧空之歌”排队人数近万,有必要排吗?...
  4. wenbao与最优比率生成树
  5. 升级MariaDB为10.1版本
  6. java: 程序包com.alibaba.fastjson不存在_Java开发中的异常
  7. docker mysql5.7 主从_docker-compose mysql5.7.30 主从
  8. Rails 使用 Google Analytics 示例
  9. 安卓手机端口号怎么查看_微信小程序怎么查看手机便签待办事项?
  10. Unity 3D安装教程
  11. 云防护是什么?为何使用云防护?
  12. 算法题 - 卡牌游戏问题 - Python
  13. Scrum立会报告+燃尽图(Beta阶段第五次)
  14. 如何有效提升你的论证写作能力?
  15. BP综述:自闭症中基于功能连接体的预测模型
  16. 计算机高新技术考试(OSTA)认证考试招生简章
  17. Unity-ShaderLab 逆向还原《原神》角色卡通渲染思路与实现(保姆级教学)-2
  18. vivo Y83的Usb调试模式在哪里,打开vivo Y83Usb调试模式的教程
  19. android 自定义推送布局_Android之极光推送发送自定义消息
  20. 算法实现——树的最大连通分支问题

热门文章

  1. 计算机机器人游戏教学计划,机器人教学计划.docx
  2. ONVIF 视频对接,ODM无法显示NVT
  3. 常规工具类:GeneralUtils.java
  4. Quality Tools for Android
  5. C++基础入门知识:C++命名空间(名字空间)详解
  6. 制造企业如何从0到1进行信息化建设?
  7. 晶振01——晶振分类和无源晶振的设计
  8. 微商红利落幕,互联网创业如何破局?
  9. 解决ssh连接经常掉线
  10. 「英语口语」六级口语考题应答模板