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 ...
随机推荐
- Codeforces Global Round 2 D. Frets On Fire (动态开点线段树,沙雕写法)
题目链接:D. Frets On Fire 思路:明明可以离散化+二分写,思路硬是歪到了线段树上,自闭了,真实弟弟,怪不得其他人过得那么快 只和查询的区间长度有关系,排完序如果相邻的两个点的差值小于等 ...
- CRT and exlucas
CRT 解同余方程,形如\(x \equiv c_i \ mod \ m_i\),我们对每个方程构造一个解满足: 对于第\(i\)个方程:\(x \equiv 1 \ mod \ m_i\),\(x ...
- 【BZOJ5332】[SDOI2018]旧试题(数论,三元环计数)
[BZOJ5332][SDOI2018]旧试题(数论,三元环计数) 题面 BZOJ 洛谷 题解 如果只有一个\(\sum\),那么我们可以枚举每个答案的出现次数. 首先约数个数这个东西很不爽,就搞一搞 ...
- 「ZJOI2015」地震后的幻想乡 解题报告
「ZJOI2015」地震后的幻想乡 想了半天,打开洛谷题解一看,最高票是_rqy的,一堆密密麻麻的积分差点把我吓跑. 据说有三种解法,然而我只学会了一种最辣鸡的凡人解法. 题意:给一个无向图\(G\) ...
- POJ--3190 Stall Reservations(贪心排序)
这里 3190 Stall Reservations 按照吃草时间排序 之后我们用 优先队列维护一个结束时间 每次比较堆顶 看是否满足 满足更新后放到里面不满足就在后面添加 #include<c ...
- cf 990G - GCD Counting
题意 #include<bits/stdc++.h> #define t 200000 #define MAXN 200100 using namespace std; int n; in ...
- [NOI2018]归程
今年D1T1,平心而论,如果能想到kruskal重构树还是很简单的. ......苟屁啊!虽然跟其他的比是简单些,但是思维难度中上,代码难度中上,怎么看都很符合NOI T1啊. 本题还有可持久化并查集 ...
- TestNg 7.依赖测试
我本个测试方法执行的时候,依赖于其他的方法.用到关键字dependsOnmethods(依赖于那个方法)也有依赖于哪个组(dependsOnGroups). 看以下的一段代码: package com ...
- HDU 1003 Max Sum 求区间最大值 (尺取法)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- Failed to execute aapt:Process 'command '/build-tools/28.0.2/aapt'' finished with non-zero exit value 1
Caused by: com.android.ide.common.process.ProcessException: Error while executing process /Users/hou ...