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++ ...
随机推荐
- 可保图片不变形的object-fit
Object-fit 我们有时候浏览一些网站的时候,偶尔会遇到这种情况: 明显它喵的形变了,尤其是这种这么业余的失误,还是出现在一个专门做图片的网站上. 产生这种现象的原因是:图片写了固定的宽高,这 ...
- Python 基础之 I/O 模型
一.I/O模型 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接 ...
- chrome中安装Vue调试工具vue-devtools
一.前言 vue-devtools是一款基于浏览器的插件,用来调试vue应用.本篇文章将要总结的是如何在chrome中安装Vue的调试工具vue-devtools. 首先能想到的第一种方法就是直接在c ...
- jenkins手把手教你从入门到放弃01-jenkins简介(详解)
一.简介 jenkins是一个可扩展的持续集成引擎.持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础.持续集成是一种软件开发实践, 即团队开 ...
- hdu 1325 Is It A Tree? (树、node = edge + 1、入度 <= 1、空树)
Is It A Tree?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- nyoj 65-另一种阶乘问题 (Java 高精度)
65-另一种阶乘问题 内存限制:64MB 时间限制:3000ms 特判: No 通过数:16 提交数:18 难度:1 题目描述: 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在 ...
- nyoj 76-超级台阶 (递推)
76-超级台阶 内存限制:64MB 时间限制:1000ms 特判: No 通过数:8 提交数:12 难度:3 题目描述: 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共 ...
- shell命令管道未读完阻塞了子进程,与等待其结束的父进程死"锁"。
在exec执行一个子进程,我们希望使用管道取得子进程在重定向后的标准输出上的结果,同时等待子进程的结束.那么是等待子进程结束后才取管道数据,还是边取数据边等待子进程结束呢? 这里有一个调试的例子.u0 ...
- 前端的构建化工具Webpack
经常看到如jquery-3.0.0.js和jquery-3.0.0-min.js等两相似的文件名. 其实以上两个文件名的内容是一样的,不过带min代表的是占用最小的空间,为项目提高性能.压缩的部分如换 ...
- Openlayers 地图定位到相应位置并缩放
说明: 在地图操作中,有个功能,需要点击一个点,将视图定位到点击点的位置,并放大. 解决方案: 1.可以有openlayers中可以有ol.View来控制,但是在更改时,会将地图初始化时设置的maxZ ...