hdu 6418(石头剪刀布 **)
题意是说双方各有剪刀,石头和布的卡片各 a,b,c,a‘,b',c' 张,对方是随机选择,问我方的最大预期得分。
这道题目一开始看到的时候感觉没有头绪,再次读题,发现题目说结果可能是分数,如果是分数的话就输出最简分数......
这时候突然感到奇怪,为什么会有分数呢?加之题目中说到的对方是随机选择,会不会是每种卡片的出现概率?用唯一出现的一组结果是分数的样例,发现分母可以整除卡片数目和,那么分母就很可能是卡片数目和。从这一点来(继续)猜测,得到样例 2 0 0,0 2 0;1 1 1,1 1 1;1 0 0,0 0 1;123 456 789,100 200 1068 的结果的分母应该分别是 2,3,1,1368,再由样例给出的结果,分子应该分别是 4,0,-1,255744,再由给出的样例,应该结果是卡片出现的概率作了 pa--pb', pb--pc',pc--pa',pa'--pb,pb'--pc,pc'--pa 这样几组乘积,然后将胜利的总和减去失败的总和。还要注意的是分子可能是负数,本人就直接求了分子和分母的最大公因数,然后分别去除以最大公因数,导致分母变成了负数,要多加一步判断负数的符号只能出现在分子上。这里基本没有逻辑的分析,完全是胡乱猜测,还是等其他的高人的真*分析吧。(a了这题感觉又折损了不少运气.......)
代码如下:
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
__int64 ans,sum;
__int64 gcd(__int64 a,__int64 b)
{
if(b==)return a;
return gcd(b,a%b);
}
void fin()
{
__int64 s = gcd(ans,sum);
ans/=s;
sum/=s;
if(sum<) {sum*=-; ans*=-;}
printf("%I64d/%I64d\n",ans,sum); }
int main()
{
int t;
__int64 a,b,c,aa,bb,cc;
scanf("%d",&t);
while(t--)
{
scanf("%I64d%I64d%I64d%I64d%I64d%I64d",&a,&b,&c,&aa,&bb,&cc);
sum = a+b+c;
if(sum == )
{
puts("");
continue;
}
ans = (aa*c+bb*a+cc*b-aa*b-bb*c-cc*a);
if(ans%sum==)
{
ans/=sum;
printf("%I64d\n",ans);
}
else fin();
}
return ;
}
hdu 6418(石头剪刀布 **)的更多相关文章
- 《动物世界》的剪刀石头布 HDU --- 6418
题目连接: https://vjudge.net/problem/1812686/origin emmm 这一题的资料来自<动物世界>这一个李易峰演的电影.. 主要的思路就是概率,但是会牵 ...
- HDU——T 1576 A/B
http://acm.hdu.edu.cn/showproblem.php?pid=1576 Time Limit: 1000/1000 MS (Java/Others) Memory Limi ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
- hdu 4481 Time travel(高斯求期望)(转)
(转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...
随机推荐
- 【hihocoder1167】高等理论计算机科学 (重链剖分 +树状数组)
Descroption 原题链接给你一棵\(~n~\)个点的树和\(~m~\)条链,求两两相交的链有多少对,两条链相交当且仅当有至少一个公共点.\(~1 \leq n, m \leq 10 ^ 5~\ ...
- PKUWC2019 凉凉记
请配合 BGM 食用. 菜就是菜,说什么都是借口. Day 0 前一天先到纪中报道,高铁上打了一会单机膈膜,然后又打了一遍 \(FFT\) 板子,就到了中山. 到了后,发现气温骤然升高,马上 脱 换裤 ...
- 队列模式&主题模式
# RabbitMQ 消息中间件 **Advanced Message Queuing Protocol (高级消息队列协议** The Advanced Message Queuing Protoc ...
- Linux及Windows查看占用端口的进程
想必大家在部署环境启动服务的时候,会遇到服务起不起来的问题,看日志,说是端口被占用了. 有的时候,我们不想改端口,那么,就需要去查看到底是哪个应用把这个端口给占用了,然后干掉它即可. 下面分别列举li ...
- 深挖JDK动态代理(一)
最近在研究RPC框架,避免不了的就是在RPC调用中使用最多的则是动态代理的机制了,基于此,我们先来研究一下JDK动态代理 我们先来尝试着编写一下JDK动态代理的代码 1. 由于JDK动态代理是基于接 ...
- Ubuntu下安装Flask虚拟环境及使用
一.关于Flask介绍 诞生时间:Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug工具箱编写的轻量级Web开发框架. Flask框架包含两 ...
- Ubuntu下搜狗输入法无法输入中文
现象:无法打出中文,但是有输入框.如下图所示情形: 解决方法 删除配置文件,重启fcitx 配置文件在~/.config下的3个文件夹里SogouPY.SogouPY.users.sogou-qimp ...
- [NOI2018]归程
今年D1T1,平心而论,如果能想到kruskal重构树还是很简单的. ......苟屁啊!虽然跟其他的比是简单些,但是思维难度中上,代码难度中上,怎么看都很符合NOI T1啊. 本题还有可持久化并查集 ...
- JavaScript FormData的详细介绍及使用
本文转自:https://blog.csdn.net/liupeifeng3514/article/details/78988001 FormData的详细介绍及使用请点击此处,那里对FormData ...
- Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)
1.微信公众平台小程序关联腾讯云 腾讯云的开发环境是给免费的一个后台,但是只能够用于开发,如果用于生产是需要花钱的,我们先用开发环境吧 1.用小程序开发邮箱账号登录微信公众平台 2.[设置]→[开发者 ...