题面:https://nanti.jisuanke.com/t/41408

题意:A,2,3,4,5,6,7,8,9,10,J,Q,K,13张牌,无花色之分,val为1~13。

给n个人名+n个牌,输出人名的ranklist

比较规则:

皇家顺最大

顺子第二,都是顺看最大牌的val

四条第三,先看四张相同牌的val,再看剩下那张牌的val

葫芦第四,先看三张相同牌的val,再看两张相同牌的val

三条第五,先看三张相同牌的val,再看剩下两张牌的val之和

两对第六,先看大的两张相同牌的val,再看小的两张相同牌的val,再看剩下一张牌的val

一对第七,先看两张相同牌的val,再看剩下三张牌的val之和

高牌第八,看五张牌的val之和

比较完还分不出来两幅牌谁赢,看名字,字典序小的赢(不会有相同的名字)。

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
const int maxn=1e5+;
struct node
{
string name;
int ranks;
int val;
int a[];
}p[maxn]; pair<int,int> calrank(int e,int d,int c,int b,int a)
{
//a>=b>=c>=d>=e
pair<int,int> pa;
if(a==&&b==&&c==&&d==&&e==){pa.first=;pa.second=;}
else if(a-b==&&b-c==&&c-d==&&d-e==){pa.first=;pa.second=a;}
else if(b==e){pa.first=;pa.second=b*+a;}
else if(a==d){pa.first=;pa.second=a*+e;}
else if(a==c&&d==e){pa.first=;pa.second=a*+d;}
else if(a==b&&c==e){pa.first=;pa.second=c*+a;}
else if(a==c){pa.first=;pa.second=a*+d+e;}
else if(b==d){pa.first=;pa.second=b*+a+e;}
else if(c==e){pa.first=;pa.second=c*+a+b;}
else if(a==b&&c==d){pa.first=;pa.second=a*+c*+e;}
else if(a==b&&d==e){pa.first=;pa.second=a*+e*+c;}
else if(b==c&&d==e){pa.first=;pa.second=b*+d*+a;}
else if(a==b){pa.first=;pa.second=a*+c+d+e;}
else if(b==c){pa.first=;pa.second=b*+a+d+e;}
else if(c==d){pa.first=;pa.second=c*+a+b+e;}
else if(d==e){pa.first=;pa.second=d*+a+b+c;}
else{pa.first=;pa.second=a+b+c+d+e;}
return pa;
} bool cmp(node a,node b)
{
if(a.ranks==b.ranks)
{
if(a.val==b.val)return a.name<b.name;
return a.val>b.val;
}
else return a.ranks<b.ranks; }
bool cmp2(int a,int b)
{
return a<b;
}
int main()
{
ios::sync_with_stdio(false);
int n;
while(cin>>n)
{
for(int i=;i<=n;i++)
{
string pai;
cin>>p[i].name>>pai;
for(int k=,j=;pai[k];k++)
{
if(pai[k]=='')continue;
if(pai[k]>=''&&pai[k]<='')p[i].a[j]=pai[k]-;
else if(pai[k]=='A')p[i].a[j]=;
else if(pai[k]=='J')p[i].a[j]=;
else if(pai[k]=='Q')p[i].a[j]=;
else if(pai[k]=='K')p[i].a[j]=;
else if(pai[k]=='')p[i].a[j]=;
j++;
}
sort(p[i].a,p[i].a+,cmp2);
pair<int,int>pa2;
pa2=calrank(p[i].a[],p[i].a[],p[i].a[],p[i].a[],p[i].a[]);
p[i].ranks=pa2.first;
p[i].val=pa2.second;
}
sort(p+,p+n+,cmp);
for(int i=;i<=n;i++)
cout<<p[i].name<<endl;
}
return ;
}

我太难了

...

2019沈阳icpc网络赛H德州扑克的更多相关文章

  1. 2019 南昌ICPC网络赛H The Nth Item

    The Nth Iteam 题意:F(0)=1,F(1)=1,F(n)=3*F(n-1)+2*F(n-2) (n>=2) ,F(n) mod 998244353.给出Q跟N1,Ni=Ni-1^( ...

  2. Supreme Number 2018沈阳icpc网络赛 找规律

    A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...

  3. 2019 徐州icpc网络赛 E. XKC's basketball team

    题库链接: https://nanti.jisuanke.com/t/41387 题目大意 给定n个数,与一个数m,求ai右边最后一个至少比ai大m的数与这个数之间有多少个数 思路 对于每一个数,利用 ...

  4. 2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂

    2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂 [Problem Description] ​ 已知\(f(n)=3\cdot f(n ...

  5. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H Skiing【拓扑排序,关键路径】

    2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛  H Skiing In this winter holiday, Bob has a plan for skiing at the moun ...

  6. 计蒜客 41391.query-二维偏序+树状数组(预处理出来满足情况的gcd) (The Preliminary Contest for ICPC Asia Xuzhou 2019 I.) 2019年徐州网络赛)

    query Given a permutation pp of length nn, you are asked to answer mm queries, each query can be rep ...

  7. 【2018ACM/ICPC网络赛】沈阳赛区

    这次网络赛没有打.生病了去医院了..尴尬.晚上回来才看了题补简单题. K  Supreme Number 题目链接:https://nanti.jisuanke.com/t/31452 题意:输入一个 ...

  8. ACM-ICPC 2018 沈阳赛区(网络赛)

    D.Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with he ...

  9. 南昌网络赛 H The Nth Item

    南昌网络赛The Nth Item 暴力快速幂+unordered_map记忆化 注意:记忆化不能写到快速幂求解函数里,不断调用函数会造成很大的时间浪费 #include<bits/stdc++ ...

随机推荐

  1. jquery判断手指滑动方向

    jquery判断手指滑动方向 <pre> /*判断哪个滑动方向还是自己改下 要么上下 要么左右*/ var startX; var startY; $(".shanghua&qu ...

  2. linux No module named yum错误的解决办法

    linux No module named yum错误的解决办法 肯定是yum的版本与当前python的版本不一致造成的 <pre>所以修改yum的配置,修改文件: vim /usr/bi ...

  3. servlet三大组件

    servlet大致可以分为三个:简单servlet.过滤servlet.监听servlet servlet: servlet的创建 创建一个类并实现Servlet接口. 重写service方法. 在服 ...

  4. maven聚合(依赖聚合)

    maven聚合工程 原文地址:http://juvenshun.iteye.com/blog/305865 http://blog.csdn.NET/woxueliuyun/article/detai ...

  5. 苹果客户端input时页面自动放大的问题

    一.问题: 最近在用vue测试的时候发现,安卓端在输入框input时不存在页面自动缩放的问题,苹果客户端认为是考虑到用户的体验效果,才出现输入框自动放大的功能.但也收到了不少用户反馈体验效果不周. 二 ...

  6. Thrift总结(四)Thrift实现双向通信

    前面介绍过 Thrift 安装和使用,介绍了Thrift服务的发布和客户端调用,可以查看我之前的文章:https://www.cnblogs.com/zhangweizhong/category/10 ...

  7. java编程思想第四版第十八章总结

    一.概述 如何学习java I/O 学习I/O类库 学习I/O发展史,为什么要学习发展史呢? 因为,如果缺乏发展史,我们就会对什么时候使用哪个类,以及什么时候不该使用它们而感到迷惑. 了解nio 二. ...

  8. (二)初识NumPy库(数组的操作和运算)

    本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...

  9. gitbook 入门教程之一招彻底解决 favicon 图标失效问题

    favicon-absolute 项目 favicon-absolute 插件采用绝对路径设置网站 favicon 图标,相对于相对路径来说更加简单方便.

  10. 领扣(LeetCode)二叉树的中序遍历 个人题解

    给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归的思路很简单,不再累 ...