zoukankan      html  css  js  c++  java
  • POJ 2062 Card Game Cheater

      题意:两个人打牌,牌的大小按照2,3,4...9,T,J,Q,K,A排序,如果点数相等就按照H>S>D>C的花色排序。告诉你第一个人的手牌,让你安排第二个人的手牌,使得得分最大(按照顺序依次比较每张牌大小)

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <queue>
     4 using namespace std;
     5 int dot[300];
     6 int InputNum,NumOfCards,point;
     7 int Adm[26],Eve[26];
     8 char str1,str2;//牌的点数和花型
     9 void init();
    10 void process();
    11 int main()
    12 {
    13     //freopen("D:\t.txt","r",stdin);
    14     init();
    15     process();
    16     return 0;
    17 }
    18 void init(){//对数据进行初始化,将牌数*10
    19     dot['T'] = 100;dot['J'] = 110;dot['Q'] = 120;dot['K'] = 130;dot['A'] = 140;
    20     for(int m = 2;m <= 9;m++){
    21         dot[m + '0'] = m * 10;
    22     }
    23     dot['H'] = 4;dot['S'] = 3;dot['D'] = 2;dot['C'] = 1;
    24 }
    25 void process(){
    26     while(cin>>InputNum){
    27         for(int i = 0;i < InputNum;i++){
    28             cin>>NumOfCards;
    29             point = 0;
    30             //发牌
    31             for(int k = 0;k < NumOfCards;k++){
    32                 cin>>str1>>str2;
    33                 Adm[k]= dot[str1] + dot[str2];//将牌数扩大十倍,加上花色
    34             }
    35             for(int j = 0;j < NumOfCards;j++){
    36                 cin>>str1>>str2;
    37                 Eve[j] = dot[str1] + dot[str2];
    38             }
    39             //
    40             sort(Adm,Adm + NumOfCards);//将两个人的牌数按升序排列
    41             sort(Eve,Eve + NumOfCards);
    42             for(int i = 0, j = 0;i < NumOfCards&&j < NumOfCards;){
    43                 if(Eve[i] > Adm[j]){
    44                     point++;
    45                     i++;j++;
    46                 }
    47                 else i++;
    48             }//将两个人的牌按升序排列之后,进行比较
    49        /*比如adm[3]={1,2,3},eve[3] = {1,2,3};
    50        第一次adm[0] = eve[0]
    51        然后用eve[1]与adm[0]比较,eve[1]>adm[0];
    52        eve[2]>adm[1];
    53        就能求出eve胜adm多少次了*/
    54             cout<<point<<endl;
    55         }
    56     }
    57 }
    Donghua University
  • 相关阅读:
    mac攻略(八) -- 神器zsh和iterm2的配置
    linux学习(二) -- ubuntu下lnmp环境的配置
    linux学习(一) -- ubuntu下lamp环境的配置
    算法学习(一) -- 基本算法
    laravel5.2总结--数据填充
    laravel5.2总结--数据迁移
    laravel5.2总结--redis使用
    laravel5.2总结--关联关系
    mac攻略(七) -- 环境变量PATH分析
    mac攻略(六) -- mac根目录分析
  • 原文地址:https://www.cnblogs.com/ohxiaobai/p/4058207.html
Copyright © 2011-2022 走看看