牌型 : 单顺,又称顺子,最少5张牌,最多12张牌(3…A)不能有2,也不能有大小王,不计花色。
例如 3 - 4 - 5 - 6 - 7 - 8,7 - 8 - 9 - 10 - J - Q,3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - A
可用的牌 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K < A < 2 < B(小王) < C(大王),每种牌除大小王外有四种花色(共有13 * 4 + 2张牌)
输入:1、手上有的牌 2、已经出过的牌(包括对手出的和自己出的牌)
输出:对手可能构成的最长的顺子(如果有相同长度的顺子,输出牌面最大的那个那一个),如果无法构成顺子,则输出 NO - CHAIN
输入描述 :
输入的第一行为当前手中的牌
输入的第二行为已经出过的牌
输出描述 :
最长的顺子
示例 :
输入
3-3-3-3-4-4-5-5-6-7-8-9-10-J-Q-K-A
4-5-6-7-8-8-8
输出
9 - 10 - J - Q - K - A

string long_shunzi()
{map<string, int> strtoint;strtoint[string("3")] = 0;strtoint[string("4")] = 1;strtoint[string("5")] = 2;strtoint[string("6")] = 3;strtoint[string("7")] = 4;strtoint[string("8")] = 5;strtoint[string("9")] = 6;strtoint[string("10")] = 7;strtoint[string("J")] = 8;strtoint[string("Q")] = 9;strtoint[string("K")] = 10;strtoint[string("A")] = 11;map<int, string> inttostr;inttostr[0] = "3";inttostr[1] = "4";inttostr[2] = "5";inttostr[3] = "6";inttostr[4] = "7";inttostr[5] = "8";inttostr[6] = "9";inttostr[7] = "10";inttostr[8] = "J";inttostr[9] = "Q";inttostr[10] = "K";inttostr[11] = "A";vector<int> vec;vector<pair<int, int>> vecres;for (int i = 0; i < 12; ++i) {vec.push_back(int(4));}string str1;string str2;cin >> str1;cin >> str2;// 除去已知的牌string cs = "";for (auto c : str1) {if (c != '-') {cs += c;} else {vec[strtoint[cs]]--;cs = "";}}vec[strtoint[cs]]--;cs = "";for (auto c : str2) {if (c != '-') {cs += c;} else {vec[strtoint[cs]]--;cs = "";}}vec[strtoint[cs]]--;cs = "";// 双指针找连续子序列for (int i = 0; i < 12; ++i) {int right = i;while (right < 12) {if (vec[right] > 0) {right++;} else {break;}                }if (right - i >= 5) {vecres.push_back(make_pair(i, right));}i = right;}// 连续子序列找满足条件的 1、最长的2、 同长牌面大的int flag = 0;int max = 0;int j = 0;for (auto ele : vecres) {int count = ele.second - ele.first;if (max <= count) {max = count;flag = j;}j++;}int fir = vecres[flag].first;int sec = vecres[flag].second;string outsr;for (int i = fir; i < sec; ++i) {outsr += inttostr[i];if (i != sec - 1) {outsr += "-";}}cout << outsr << endl;return outsr;
}

【最长的顺子】斗地主起源于湖北十堰房县,据说是一位叫吴修全的年轻人根据当地流行的扑克玩法“跑得快”改编的,如今已风靡整个中国,并流行于互联网上。相关推荐

  1. 社群运营当下最流行的红包玩法

    关于社群的日常运营有很多手段,其中红包是最有效的方法之一,接下来我们来看看基于企微社群内的红包玩法 一. 8种社群红包玩法 1.欢迎红包 以往在班级或者一个团队有新成员加入的时候,除了群主介绍之外,发 ...

  2. 华为OD机试 - 最长的顺子

    题目描述 斗地主起源于湖北十堰房县,据说是一位叫吴修全的年轻人根据当地流行的扑克玩法"跑得快"改编的,如今已风靡整个中国,并流行于互联网上. 牌型:单顺,又称顺子,最少5张牌,最多 ...

  3. HUAWEI机试:最长的顺子

    希望有更好的解法 题目描述 斗地主起源于湖北十堰房县,据说是一位叫吴修全的年轻人根据当地流行的扑克玩法"跑得快"改编的,如今已风靡整个中国,并流行于互联网上. 牌型: 单顺,又称顺 ...

  4. “京东红”托起“松石绿” 湖北十堰让世界发现中国珠宝之美

    中新网1月14日电 石尚之都,玉满天下.1月12日,中国(十堰)绿松石创新设计大赛"决战"京城.十堰市政府携手京东云.京东珠宝,在自然资源部珠宝玉石首饰管理中心 (国家珠宝玉石质量 ...

  5. 银杏谷资本:他们都是跑在互联网上的制造企业 | 倒计时5天

     关注ITValue,查看企业级市场最新鲜.最具价值的报道! 摘要 2018雪浪大会将于6月30日-7月1日于中国无锡太湖国际博览中心盛大举办,此次大会将由主论坛.近30场分论坛与近万平米智能制造科技 ...

  6. 一款英国折叠车如何在中国城市流行?

    花一万多块购买一辆 自行车 ,这在几年前还被视为疯狂的事.如今,越来越多人愿意为便利和设计买单,不少公司人的愿望清单加上了Brompton,一款被车迷称为"小布"的英国折叠车.那么 ...

  7. 《进化——我们在互联网上奋斗的故事》一一1.11 OKRs在J公司

    本节书摘来自异步社区出版社<进化--我们在互联网上奋斗的故事>一书中的第1章,第1.11节,作者:北大首届互联网CIO-CTO班全体同学,更多章节内容可以访问云栖社区"异步社区& ...

  8. 计算机网络8 互联网上的音视频服务

    概述 技术的进步,使得许多用户开始利用互联网传送音频.视频数据 这种音频.视频常称为多媒体信息 多媒体信息的两个特点如下: 多媒体信息的信息量很大:传输需要的码率高,因此必须采用各种信息压缩技术 传输 ...

  9. 你正在为互联网上的“免费”付出什么?

    原地址:http://chuansong.me/n/1849146 2015-10-27 霍炬 歪理邪说 上周,网易邮箱密码泄漏的事情让不少人吓了一跳.当时我没凑这个热闹.现在事件热点过去了,可以来聊 ...

最新文章

  1. lvs+iptables持久连接
  2. PIE SDK剔除栅格块算法
  3. 如何让tomcat只支持ipv4
  4. php在html里面的位置,关于script在html中的摆放位置解析
  5. On the coexistence of transport protocols in data centers
  6. Docker快速安装Sybase数据库DBeaver数据库图形化管理开发工具
  7. 啥?!BM25 比语义向量检索效果好?
  8. Javascript的冒泡排序和二分查找
  9. 谷歌云盘快速下载大文件
  10. 免积分下载与PDF转换
  11. 淘宝消费者行为分析实例(pandas, matplotlib, pyechart)(超详细)
  12. 软考中级网络工程师-第一章计算机网络概论(自我学习)
  13. The Matrix
  14. 如何将word文件的大小进行压缩?
  15. 想玩IEO又怕跑得慢?LBank的“锁仓释放”了解下
  16. tecplot改变x轴y轴
  17. 学驾照考交规去上海公安培训总部考试全过程
  18. JS Array数组和函数
  19. 或门,OR Gate
  20. javax.crypto.Cipher类--加密和解密

热门文章

  1. Struts2的概念及工作原理
  2. win10系统 计算机配置要求高吗,win10配置要求高还是win7配置要求高
  3. Matlab中的sum函数以及sum(,3)求和函数
  4. SpringBoot引入Mybatis
  5. Python自动移动电驴下载完成的文件(未完)
  6. ffmpeg 解码drm显示的示例
  7. python类方法、静态方法和实例方法的使用
  8. html5显示文件后缀,怎么显示文件后缀名,教您如何让电脑显示文件后缀名
  9. 【Win10】Win10 系统如何打开/关闭护眼模式
  10. Word标题无法降级别