百度年会盛况空前,每个部门的年会活动也是非常有趣。某部门的年会中进行了一个有趣的游戏:一张方桌上有四边,每边可以坐一人,每人面前摆放一排长方形木块。我们一次给四边标号,分别为玩家 1、2、3、4(详见下图)。

玩家 1 掷出两个骰子,其点数分别为 x,y(1≤x,y≤6)x, y(1 \le x, y \le 6)x,y(1≤x,y≤6),则从玩家 1 开始按照逆时针(玩家 1、2、3、4)的顺序,数到 x+yx+yx+y 时不妨记为玩家 c,那么从玩家 c 面前顺时针方向第 min(x,y)+1min(x, y) + 1min(x,y)+1 个木块开始,按照玩家 1、2、3、4 的顺序,每位玩家依次拿走连续的两个木块,循环三次,也就是说每位玩家最终应该有 666 个木块。

注意:按照顺时针方向拿走木块,任何时候(包括拿第一个木块的时候),如果某一边的木块不够拿了,则继续拿顺时针方向下一个玩家的第一个木块。

举个例子,玩家 1 掷骰子点数为 3,53,53,5,那么应该从玩家 4 顺时针第 444 块木块开始。依次用蓝色、绿色、红色、紫色分别代表玩家 1、2、3、4 拿到的木块,如下图所示:

分别用 num1,num2,num3,num4num_1, num_2, num_3, num_4num​1​​,num​2​​,num​3​​,num​4​​ 表示玩家 1/2/3/41/2/3/41/2/3/4 面前木块的数量。在这些木块中有两个 幸运木块,它们 在同一个玩家面前且相邻。如果 同时拿走这两个幸运木块,就可以拿走年会的终极大奖。

现在轮到 玩家 1 掷骰子,他希望拿走终极大奖,你能帮他算出一共有多少种掷骰子的组合能使得 玩家 1 赢得终极大奖么?不考虑骰子之间的顺序,即 3,43,43,4 和 4,34,34,3 被认为是同一种骰子组合。

输入格式

第一行输入 num1,num2,num3,num4num_1, num_2, num_3, num_4num​1​​,num​2​​,num​3​​,num​4​​ (1≤numi<52,(1 \le num_i < 52, (1≤num​i​​<52, ∑i=14numi=54)\sum_{i=1}^4num_i=54)∑​i=1​4​​num​i​​=54),依次表示 1/2/3/41/2/3/41/2/3/4 玩家面前摆放的木块数。第二行输入两个整数 k(1≤k≤4),k(1 \le k \le 4),k(1≤k≤4), d(1≤d< numk)d(1 \le d < num_k)d(1≤d < num​k​​),表示玩家 kkk 面前顺时针数第 ddd 和 d+1d+1d+1 位置上的木块是幸运木块(从 111 开始计数)。

输出格式

输出一行,表示 玩家 1 能够赢得终极大奖的骰子组合的数目。

样例说明

对于样例,用红色标识出了幸运木块的位置。对应的玩家 1 掷骰子的方案有三种,分别是 (1,1)(1, 1)(1,1),(1,5)(1, 5)(1,5),(3,6)(3, 6)(3,6)。

样例输入
10 14 15 15
1 4

样例输出
3
题解:我的做法是把每一张牌赋予一个唯一的代价,然后模拟。注意人是按人的座位顺序。
代码:

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<math.h>
#include<set>
using namespace std;
set<int>s;
int mp[10][100];
int a[100];
int b[10]={0,1,4,3,2};
int k,d,he;
int solo(int x,int y)
{int zhi=x+y;zhi%=4;if(zhi==0)zhi=4;int na=min(x,y)+1;set<int>s;int cnt=0;if(zhi==1) cnt=0;if(zhi==4)  cnt=a[1];if(zhi==3) cnt=a[1]+a[4];if(zhi==2) cnt=a[1]+a[4]+a[3];cnt+=na;if(cnt>he)cnt-=he;s.insert(cnt);cnt+=1;if(cnt>he)cnt-=he;s.insert(cnt);cnt+=7;if(cnt>he)cnt-=he;s.insert(cnt);cnt+=1;if(cnt>he)cnt-=he;s.insert(cnt);cnt+=7;if(cnt>he)cnt-=he;s.insert(cnt);cnt+=1;if(cnt>he)cnt-=he;s.insert(cnt);if((s.find(mp[k][d])!=s.end())&&(s.find(mp[k][d+1])!=s.end())) return 1;return 0;
}
void init()
{int cn=1;for(int i=1;i<=4;i++){for(int j=1;j<=a[b[i]];j++)mp[b[i]][j]=cn++;}he=cn-1;
}
int main()
{cin>>a[1]>>a[2]>>a[3]>>a[4];cin>>k>>d;init();int ans=0;for(int i=1;i<=6;i++){for(int j=i;j<=6;j++){if(solo(i,j)){ans++;}}}cout<<ans<<endl;
}

2017计蒜客初赛第二场第一题 百度的年会游戏相关推荐

  1. 腾讯课堂的物理实验(2017计蒜客初赛第三场)

    A题 在腾讯课堂的物理课上,进行了一个有趣的物理实验. 在一个长度为 LL 米的光滑轨道上,小车 A 在 00 时刻以 1\mathrm{m/s}1m/s 的速度从左端出发向右运动,小车 B 在 tt ...

  2. 计蒜客网站 ACM-ICPC亚洲区赛题

    The Preliminary Contest for ICPC China Nanchang National Invitational(2019) ACM-ICPC Jiaozuo Onsite ...

  3. 2017 计蒜之道 初赛 第二场 A题(百度的年会游戏)

    百度年会盛况空前,每个部门的年会活动也是非常有趣.某部门的年会中进行了一个有趣的游戏:一张方桌上有四边,每边可以坐一人,每人面前摆放一排长方形木块.我们一次给四边标号,分别为玩家 1.2.3.4(详见 ...

  4. 2017计蒜客第二场(AB)

    A : 百度年会盛况空前,每个部门的年会活动也是非常有趣.某部门的年会中进行了一个有趣的游戏:一张方桌上有四边,每边可以坐一人,每人面前摆放一排长方形木块.我们一次给四边标号,分别为玩家 1.2.3. ...

  5. 2017百度之星初赛B场第一题Chess--简单杨辉三角问题

    Chess  Accepts: 1799  Submissions: 5738  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 32768 ...

  6. ICPC North Central NA Contest 2017 计蒜客重现 解(补)题报告

    前言 不知不觉又到了周六训练赛,时间过得真快.手机前段时间被我不小心摔坏了,没手机玩的第十天, 无奈只能学习了 ,想它.题目还是要做的,题解还是要写的,CF还是得抽时间打的,所以说手机坏了貌似是好事. ...

  7. 计蒜客第六场 微软大楼设计方案(困难)

    题目链接: https://nanti.jisuanke.com/t/15773 题解: 先对点按x排序 设Xa<=Xb 当k<=40时,可以用中等难度的方法枚举Xa再枚举Xb,当Xb-X ...

  8. 泡面吧” “计蒜客” 挑战难题 第16题:爬楼梯

    第16题:爬楼梯 点击打开链接 尝试次数 1229次 通过率 17.7% 时间限制 1000 ms 内存限制 10000 K 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种 ...

  9. 计蒜客 - T1096 - 石头剪刀布

    计蒜客 - T1096 - 石头剪刀布 题目 石头剪刀布是常见的猜拳游戏.石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. 一天,小 A 和小B正好在玩石头剪刀布.已知他们的出拳都是有 ...

最新文章

  1. 用js实现放大镜的效果
  2. python property理解
  3. 从需求到设计,嵌入式产品开发流程
  4. sqlserver还原差异备份
  5. 为什么要将html页面和样式表分离,0031 如何使用css文件对网页内容和样式进行分离...
  6. BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊(LCT)
  7. wscript.exe无法打开vbs_如何恶搞朋友的电脑?超简单的vbs代码
  8. Linux命令解释之crontab
  9. sersync实时备份安装及设置
  10. 手机号码归属地 mysql_最新全国手机号码归属地信息SQLite数据库2019年2月更新
  11. ABAQUS使用功能总结
  12. 一个意外错误使你无法删除该文件,文件或目录损坏且无法读取
  13. UOJ 30 【CF Round #278】Tourists
  14. 腾讯的核心竞争力是什么
  15. 计算机二级java真题 百度云,计算机二级Java试题及答案
  16. 能用10年的电动车牌子是什么?绿源电动车了解一下吧
  17. Ncurses学习经历(五)窗口机制详述
  18. 抖音测试美甲软件,几款抖音最火美甲图片 最新网红美甲图案
  19. ROS-Academy-for-Beginners教学包学习
  20. 如何用python爬论文_使用python爬取NDSS官网的论文

热门文章

  1. 这才是http错误的最精准表达.....
  2. 通过商品详情接口,商品详情价格接口,店铺优惠券接口,比价分析API,品牌监控API等,超详细的介绍
  3. 力扣LeetCode(二)T41-T80
  4. 杰理之添加SD基本配置【篇】
  5. python里面的dd是什么意思_python中std是什么
  6. 直播回顾 | 双十一电商风控终于有参考样本了!
  7. 超级英雄在中国香港的平凡生活
  8. 怎样修改日立uax规格表_UAX电梯读写软件功能调试说明
  9. 一款功能强大的课程报名系统 v6.2.0
  10. 数据库学习记录(上)