2017-4-26阿里客户端笔试题1

有以下几点规则:

  1. 这种玩法没有大小鬼,没有黑桃。只有红桃、方片、梅花,每种13张。供39张牌。
  2. 两个人玩,每人手上的牌随机,可能是1张,也可能是38张。
  3. 出牌有3种方法,单张,一对(两张大小一样,花色不同,例如44),三张(三张大小一样,花色不同。例如333)。
  4. 顺序3最小、2最大,只能大牌压小牌,花色不影响,张数必须一致。且优先出最小的组合。例如,你手上有6699KK,对方出了33,你应该出66。
  5. 每轮双方必须出牌。碰到手上牌都压不住对方的时候,可以出自己手上最小,且张数最多的组合。例如,你手上有344555,对方出了个6。这时你可以出555

  1. 总是优先出张数匹配的牌,如果出现必须拆牌的情况,优先拆数字小的牌。例1,你手上有3888KK,对方出个6,这时你应该出8。例2,手上有388KKK,对方出JJ,你应该出KK。例3,手上有3QQQKKK,对方出JJ,你应该出QQ。
输入:
第一行表示你手上的牌,顺序随机。A表示尖,0表示10。 第二行是对手当前出的牌
输出:
当前轮你应该打出的牌
输入范例:
2AJQK038992JJ
输出范例:
22

C++模板
#include <iostream>
#include <vector>
#include <numeric>
#include <limits>


using namespace std;


/** 请完成下面这个函数,实现题目要求的功能 **/
 /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/
string process(string pocket, string card) {




}


int main() {
    string res;


    string _pocket;
    getline(cin, _pocket);
    string _card;
    getline(cin, _card);
    
    res = process(_pocket, _card);
    cout << res << endl;
    
    return 0;


}

Java模板
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;


public class Main {


/** 请完成下面这个函数,实现题目要求的功能 **/
 /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/
    static String process(String pocket, String card) {




    }


    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String res;
            
        String _pocket;
        try {
            _pocket = in.nextLine();
        } catch (Exception e) {
            _pocket = null;
        }
        
        String _card;
        try {
            _card = in.nextLine();
        } catch (Exception e) {
            _card = null;
        }
  
        res = process(_pocket, _card);
        System.out.println(res);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值