19168 yaoyao的金花预测

19168 yaoyao的金花预测

时间限制:1000MS  代码长度限制:10KB
提交次数:66 通过次数:6

题型: 编程题   语言: 不限定

Description

yaoyao和lola在学校中起了争执,他们想通过炸金花来决定谁胜谁负。
现在有两幅手牌,分别给yaoyao和lola发3张牌。

炸金花的牌型从大到小如下:
炸弹:3张牌是一样的 如:666
顺金:花色相同并且是顺子
金花:花色相同
顺子:3张牌的是顺子,如345,234,789,JQK,QKA,A,2,3。
对子:有一对相同的,如:223,334
单牌:没有以上牌型

yaoyao开了天眼,能找到lola的牌是什么,yaoyao想知道牌型比lola大的组合还有多少种; 注意:题目要求的是牌型大于lola。

 

输入格式

输入3行代表lola的牌,每一行有整数x,k,x代表花色[1,4],k代表数值大小[2,14],
11代表J,12代表Q,13代表K,14代表A.


 

输出格式

输出整数,代表牌型比lola大的组合还有多少种


 

输入样例

样例1:
4 14
3 14
2 14
样例2:
2 7
3 8
4 9
样例3:
2 11
3 11
4 9


 

输出样例

0

1196

1916

 注意题目要求的是牌型大于lola即可,因此通过排列组合计算出每种牌型有多少种,然后判断输入的牌型,将牌型大于他的组合加起来即可。

#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
#include <stdio.h>
#include <vector>
#include <string>
#include <map>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    int a[5],b[5];
    for(int i=0;i<3;i++)
        cin>>a[i]>>b[i];
    sort(b,b+3);
    if(b[0]==b[1]&&b[1]==b[2])
        cout<<0;
    else if(a[0]==a[1]&&a[1]==a[2]&&((b[0]==b[1]-1&&b[1]==b[2]-1)||(b[0]==2&&b[1]==3&&b[2]==14)))
        cout<<13*4;
    else if(a[0]==a[1]&&a[1]==a[2])
        cout<<13*4+12*4;
    else if((b[0]==b[1]-1&&b[1]==b[2]-1)||(b[0]==2&&b[1]==3&&b[2]==14))
        cout<<1196;
    else if(b[0]==b[1]||b[1]==b[2])
        cout<<1916;
    else
        cout<<1916+13*12*2*3*4;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值