2019沈阳icpc网络赛H德州扑克
题面: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德州扑克的更多相关文章
- 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^( ...
- Supreme Number 2018沈阳icpc网络赛 找规律
A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...
- 2019 徐州icpc网络赛 E. XKC's basketball team
题库链接: https://nanti.jisuanke.com/t/41387 题目大意 给定n个数,与一个数m,求ai右边最后一个至少比ai大m的数与这个数之间有多少个数 思路 对于每一个数,利用 ...
- 2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂
2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂 [Problem Description] 已知\(f(n)=3\cdot f(n ...
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H Skiing【拓扑排序,关键路径】
2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H Skiing In this winter holiday, Bob has a plan for skiing at the moun ...
- 计蒜客 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 ...
- 【2018ACM/ICPC网络赛】沈阳赛区
这次网络赛没有打.生病了去医院了..尴尬.晚上回来才看了题补简单题. K Supreme Number 题目链接:https://nanti.jisuanke.com/t/31452 题意:输入一个 ...
- 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 ...
- 南昌网络赛 H The Nth Item
南昌网络赛The Nth Item 暴力快速幂+unordered_map记忆化 注意:记忆化不能写到快速幂求解函数里,不断调用函数会造成很大的时间浪费 #include<bits/stdc++ ...
随机推荐
- 第五天、vim,重定向,用户和组管理
第五天.vim,重定向,用户和组管理 vim vi:Visual editor,文本编辑器 行编辑器:sed 全屏编辑器:vim,vi,nano 其他编辑器gedit,gvim 定义别名让vi等于vi ...
- PowerMock学习(一)之PoweMock的入门--模拟新增学生操作
关于powermock 在TDD领域Mock框架有很多,比如EasyMock,JMock,Mockito.可能有些同学会好奇了,为什么要重点把powermock拿出来呢,因为powermock可以解决 ...
- 如何构建自己的 react hooks
我们组的前端妹子在组内分享时谈到了 react 的钩子,趁此机会我也对我所理解的内容进行下总结,方便更多的同学了解.在 React 的 v16.8.0 版本里添加了 hooks 的这种新的 API,我 ...
- T-SQL Part XII: Access Remote SQL Server
要链接远程的SQL Server,需要一下几个步骤(以下的步骤都是在远程系统上进行): 确认远程SQL Server所监听的端口号 官方的文档是使用SQL Server Configuration M ...
- 微擎 manifest.xml
微擎 manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns= ...
- hdu 2527 Safe Or Unsafe (优先队列实现Huffman)
Safe Or UnsafeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 浅谈Node中的模块化
关于这篇文章早在去年年初的时候我就想写一片关于模块化的文章,但是推到现在才来完成也有很多好处,巩固之前对Node的理解.毕竟在我目前的项目中还没有一款项目是用到了Node开发,所以导致我对Node的一 ...
- Error: invalid "instanceof" keyword value Promise的解决方法
执行npm run dev 时,发现错误 Error: invalid "instanceof" keyword value Promise 经过一番查找,发现原因是webpack ...
- Cygwin安装教程
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件. 它对于学习unix/linux操作环境,或者从unix到windows的应用程序 ...
- TensorFlow在windows 下的安装
前言:从2015年谷歌将tensorflow开源后,这位用于深度学习的强大神器便把Caffe,Keras,Torch7等这一票人全部干掉,github上的star和fork是一路飙升,几乎是它们的总和 ...