ACM-ICPC 2018 南京赛区网络预赛 C GDY(模拟)
https://nanti.jisuanke.com/t/30992
题意
把m张牌(牌上数字范围是1-13)放到栈里
n个人,每个人首次从栈顶取5张牌,轮流取
取完牌后,第1个人出他手里最小的牌,
然后2-n个人轮流出牌,每次出牌的选择是:
(1)出比前一个人的牌大1的牌
(2)在前一个牌不是2的时候可以出2
(优先选择(1)出牌方式出牌)
如果第i个人没有能出的牌,他就“过”
如果第X个人出完牌后,走了一圈到了X,中间没一个人能出牌,那么从X开始所有人要从栈中取一张牌,接着,X出他手里最小的牌。
如果栈里没牌了,那么就跳过取牌的环节
谁先出完牌谁胜,剩下的人输出他的惩罚(惩罚是手里牌的值之和)
分析
根据题意模拟就好,比赛时来不及做呀,我太弱了
#include <bits/stdc++.h>
using namespace std;
int a[][],b[],c[],n,m,cnt,winner;
inline void get(int id){
if(cnt < m)a[id][b[cnt++]]++,c[id]++;
}
inline void decrease(int i,int j){
a[i][j]--,c[i]--;
if(!c[i])winner = i;
}
void print(){
for(int i = ;i < n;i++){
if(i == winner)puts("Winner");
else{
int sum = ;
for(int j = ;j <= ;j++)sum += j*a[i][j];
printf("%d\n",sum);
}
}
}
int main(){
int T;
scanf("%d",&T);
for(int t = ;t <= T;t++){
bool flag = false;
cnt = ,winner = -;
int id = ,p = ,now;
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(c,,sizeof(c));
scanf("%d %d",&n,&m);
for(int i = ;i < m;i++)scanf("%d",&b[i]);
for(int i = ;i < n;i++)for(int j = ;j < ;j++)get(i);
while(winner == -){
if(id == p%n){
if(flag){
for(int i = id;i < n;i++)get(i);
for(int i = ;i < id;i++)get(i);
}
flag = true;
for(int i = ;i <= ;i++)
if(a[id][i]){
now = i;
decrease(id,now);
goto label;
}
for(int i = ;i <= ;i++)
if(a[id][i]){
now = i;
decrease(id,now);
goto label;
}
label:
p++;
}
else{
if(now == ){
if(a[p%n][]){
now = ;
id = p%n;
decrease(id,now);
}
else if(a[p%n][]){
now = ;
id = p%n;
decrease(id,now);
}
}
else if(now != ){
if(a[p%n][now+]){
now++;
id = p%n;
decrease(id,now);
}
else if(a[p%n][]){
now = ;
id = p%n;
decrease(id,now);
}
}
p++;
}
}
printf("Case #%d:\n",t);
print();
}
return ;
}
ACM-ICPC 2018 南京赛区网络预赛 C GDY(模拟)的更多相关文章
- ACM-ICPC 2018 南京赛区网络预赛 J.sum
A square-free integer is an integer which is indivisible by any square number except 11. For example ...
- ACM-ICPC 2018 南京赛区网络预赛 E题
ACM-ICPC 2018 南京赛区网络预赛 E题 题目链接: https://nanti.jisuanke.com/t/30994 Dlsj is competing in a contest wi ...
- ACM-ICPC 2018 南京赛区网络预赛B
题目链接:https://nanti.jisuanke.com/t/30991 Feeling hungry, a cute hamster decides to order some take-aw ...
- 计蒜客 30999.Sum-筛无平方因数的数 (ACM-ICPC 2018 南京赛区网络预赛 J)
J. Sum 26.87% 1000ms 512000K A square-free integer is an integer which is indivisible by any squar ...
- 计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)
G. Lpl and Energy-saving Lamps 42.07% 1000ms 65536K During tea-drinking, princess, amongst other t ...
- 计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)
A. An Olympian Math Problem 54.28% 1000ms 65536K Alice, a student of grade 66, is thinking about a ...
- ACM-ICPC 2018 南京赛区网络预赛 B. The writing on the wall
题目链接:https://nanti.jisuanke.com/t/30991 2000ms 262144K Feeling hungry, a cute hamster decides to o ...
- ACM-ICPC 2018 南京赛区网络预赛
轻轻松松也能拿到区域赛名额,CCPC真的好难 An Olympian Math Problem 问答 只看题面 54.76% 1000ms 65536K Alice, a student of g ...
- ACM-ICPC 2018 南京赛区网络预赛 L. Magical Girl Haze
262144K There are NN cities in the country, and MM directional roads from uu to v(1\le u, v\le n)v ...
随机推荐
- codeforces 600E . Lomsat gelral (线段树合并)
You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour. Let's cal ...
- Js点击触发Css3的动画Animations、过渡Transitions效果
关键是首先指定动画效果的CSS属性名称,然后在Js中改变这个属性 如果不使用Js触发,可以选择利用css的状态:hover,focus,active 来触发,也可以一开始就触发 下例为Js点击触发过渡 ...
- mysql索引技巧
索引 索引是对数据表一列或多列的值进行排序的一种结构,用于加速基于索引字段的数据排序以及优化查询的执行速度,避免全表扫描.索引是直接影响数据库性能的数据库模式对象,因此十分重要.在定义主键和唯一键约束 ...
- haar的简单应用(2)
上次对图片进行了人脸识别,这次对摄像头捕获的内容进行识别 直接写注释来解释 import cv2 def CatchUsbVideo(window_name, camera_idx): #定义一个函数 ...
- MT【278】二次齐次化
对于$c>0$,当非零实数$a,b$满足$4a^2-2ab+4b^2-c=0,$且使$|2a+b|$最大时,$\dfrac{3}{a}-\dfrac{4}{b}+\dfrac{5}{c}$的最小 ...
- docker_macvlan
目录 macvlan macvlan macvlan的原理是在宿主机物理网卡上虚拟出多个子网卡,通过不同的MAC地址在数据链路层(Data Link Layer)进行网络数据转发的,它是比较新的网络虚 ...
- ubuntu配置mysql
1.安装mysql: sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install ...
- 构建SSH服务
什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录.如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露.最 ...
- HDU 2604 Queuing(矩阵快速幂)
题目链接:Queuing 题意:有一支$2^L$长度的队伍,队伍中有female和male,求$2^L$长度的队伍中除 fmf 和 fff 的队列有多少. 题解:先推导递推式:$f[i]=f[i-1] ...
- 【mysql】工作中mysql常用命令及语句
1.查看mysql版本号 MySQL [release_test_oa]> select version(); +------------+ | version() | +----------- ...