小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,

简介: 小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,

 题目描述:

 小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,他需要一个记牌器,记录其他三家打了哪一些牌,以便其制定策略。

 桥牌使用的是去掉大小王的52张扑克牌,牌共有4个花色,分别是草花、方片、红心、黑桃,每一种花色有13张牌,点数分别是A、2、3、4、5、6、7、8、9、10、J、Q、K。在本题中,我们用字母来表示花色,具体说S是黑桃,H是红心,D是方片,C是草花,同时我们用T表示10点。

 桥牌的打牌阶段比较简单,总共4个玩家,每一个玩家手上有13张牌,每一次从某一家开始(具体从哪一家开始的规定也比较繁琐,本题不展开)顺时针出牌;总共13轮,每一轮每一个玩家只能出一张。小明要做的就是在每一轮结束之后记录已经出过哪一些牌,并且在k轮之后询问所有剩余的牌。本题中所有的牌面表示都是两个字母,第一个字母是点数,第二个字母是花色。

【输入形式】

 输入包括一组数据,第一行是一个整数k(1<=k<=12),表示小明想知道前k轮之后剩余哪一些牌,然后跟着k行,每行四个字符串,分别表示这一轮中四家出的牌,每一个字符串第一个字符表示点数,第二个字符表示花色,例如:9S表示黑桃9,KD表示方块K,TH表示红心10。

【输出形式】

输出经过k轮出牌之后还剩余哪一些牌,每一张牌用两个字符表示,第一个是点数,第二个是花色。输出时首先按照黑桃、红心、方片、草花的顺序输出,花色一样的按照点数大小从小到大输出,其中输出的时候我们认为A、2、3、4、5、6、7、8、9、10、J、Q、K是依次递增的,具体细节见输出样例。

【样例输入】

7

3D 5D 9D AD

4S 5S TS KS

8S 9S 2S AS

6S 8D KD 2D

7C 3C 6C KC

AC TC 2C 5H

8H 3H TH AH

【样例输出】

3S 7S JS QS 2H 4H 6H 7H 9H JH QH KH 4D 6D 7D TD JD QD 4C 5C 8C 9C JC QC

【样例说明】

7轮之后,剩余的牌按顺序输出的结果就是样例输出,可以验证已经出的牌和还剩余的牌加起来是去掉大小王的一副扑克牌。

【评分标准】

对于20%的数据: n=1,且保证四家所出的牌花色相同

对于50%的数据:n=1

对于100%的数据:1<=n<=12,并且保证列出来的牌不重复。

因为本题只是验证记牌器的功能正确,所以数据中出牌记录不保证符合桥牌的出牌规则,如果不理解这句话请忽略,不影响做出正确结果。

时间限制:1s

空间限制:64MB

代码如下:

#include <iostream>
#include <cstring>
using namespace std;
int main(){
  int a[5][14];
  for(int i=1;i<=4;i++){
    for(int j=1;j<=13;j++){
      a[i][j]=0;
    }
  }
  int n;cin>>n;//第n轮
  /*string s;cin>>s;
  int b=s[0]-'0';
  cout<<b<<endl;
  */
  //*
  for(int i=0;i<n;i++){
    for(int j=0;j<4;j++){
      string s;cin>>s;
      int ColorFlag=0;
      char x=s[0];// 牌数  
      char y=s[1];//花色
      //cout<<x<<" "<<y<<endl;
      if(y=='S') ColorFlag=1;
      else if(y=='H') ColorFlag=2;
      else if(y=='D') ColorFlag=3;
      else if(y=='C') ColorFlag=4;
      //cout<<ColorFlag<<endl;
      if(x>='2' && x<='9') {
        int num=x-'0';
        a[ColorFlag][num]=1;
        //cout<<ColorFlag<<" "<<num<<" "<<a[ColorFlag][num]<<" ";
      }
      else if (x=='A')
        a[ColorFlag][1]=1;
      else if (x=='T')
        a[ColorFlag][10]=1;
      else if (x=='J')
        a[ColorFlag][11]=1;
      else if (x=='Q')
        a[ColorFlag][12]=1;       
      else if (x=='K')
        a[ColorFlag][13]=1;
    } 
}
  for(int i=1;i<=4;i++){
    for(int j=1;j<=13;j++){
      if(a[i][j]==0){
      if(j==1) cout<<"A";
      else if(j==10) cout<<"T";
      else if(j==11) cout<<"J";
      else if(j==12) cout<<"Q";
      else if(j==13) cout<<"K";
      else cout<<j;
      if(i==1)cout<<"S"<<" ";
      else if(i==2)cout<<"H"<<" ";
      else if(i==3)cout<<"D"<<" ";
      else if(i==4)cout<<"C"<<" ";
      }
    }
  }
  return 0;
}

image.gif


目录
相关文章
|
4月前
|
测试技术
ACL 2024:大模型性能掺水严重?北大交出答卷:交互评估+动态出题,死记硬背也没用
【7月更文挑战第8天】北大研究团队推出KIEval框架,针对大语言模型(LLMs)的性能评估进行创新。KIEval采用互动评估和动态出题,通过多轮基于知识的对话测试模型理解和应用能力,旨在减少数据污染影响,挑战死记硬背的评估。然而,该方法可能增加计算需求,且评估结果可能受主观因素影响,不适用于所有类型LLMs。[论文链接:](https://arxiv.org/abs/2402.15043)**
93 24
|
3月前
|
算法 C++
惊爆!KPM算法背后的秘密武器:一行代码揭秘字符串最小周期的终极奥义,让你秒变编程界周期大师!
【8月更文挑战第4天】字符串最小周期问题旨在找出字符串中最短重复子串的长度。KPM(实为KMP,Knuth-Morris-Pratt)算法,虽主要用于字符串匹配,但其生成的前缀函数(next数组)也可用于求解最小周期。核心思想是构建LPS数组,记录模式串中每个位置的最长相等前后缀长度。对于长度为n的字符串S,其最小周期T可通过公式ans = n - LPS[n-1]求得。通过分析周期字符串的特性,可证明该方法的有效性。提供的C++示例代码展示了如何计算给定字符串的最小周期,体现了KPM算法在解决此类问题上的高效性。
83 0
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏19敌人可以被打死
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏19敌人可以被打死
143 0
L2-029 特立独行的幸福 (25 分)(数组模拟)
L2-029 特立独行的幸福 (25 分)(数组模拟)
125 0
|
存储
L2-028 秀恩爱分得快 (25 分)(模拟)
L2-028 秀恩爱分得快 (25 分)(模拟)
198 0
算法每日一题——第七天——消除游戏
算法每日一题——第七天——消除游戏
算法每日一题——第七天——消除游戏
|
存储 缓存 负载均衡
10大高性能开发宝石,我要消灭一半程序员!
10大高性能开发宝石,我要消灭一半程序员!
151 0
10大高性能开发宝石,我要消灭一半程序员!
|
缓存 算法 双11
贼,夜入豪宅,可偷之物甚多,而负重能力有限,偷哪些才更加不枉此行?
贼,夜入豪宅,可偷之物甚多,而负重能力有限,偷哪些才更加不枉此行?
|
传感器 人工智能 算法
呼喊极客们,六足机器人 HEXA 身上藏着未来人机交互方式的答案|涨知识
在刚刚过去的2016 亚洲消费电子展(CES ASIA)上,Vincross公司开发的HEXA成功获得LAST GADGET STANDING奖项的提名。在如今机器人蓬勃发展到有点眼花缭乱的时候,来自中国的创业者孙天齐带着他的HEXA,凭借着独特的外形和丰富的开源性,让中国的自主创新机器人走上国际舞台。
378 0
呼喊极客们,六足机器人 HEXA 身上藏着未来人机交互方式的答案|涨知识
宇宙有新惊喜了吗?十亿光年外存在巨大的反物质喷泉?
「反物质喷泉」本身就是备受争议的名词。
404 0
下一篇
无影云桌面