Problem Description
  Nias与Ains都特别喜欢玩骰子,而且都自以为比对方玩得更溜。
  终于有一天,他们决定用骰子来一决高下!
  一般的骰子玩法已经不足以体现他们的水平了,于是他们自创了一套玩法来PK:
首先,每人掷3个骰子;之后,可以选择其中一个骰子重新掷(当然也可以放弃这一步),最后,比较投掷结果的大小,结果大的那方获胜,一样的话为平局。
  大小比较规则为:
  三个一样数字的骰子称为三条;两个一样数字的骰子称为对子;只有一个数字的骰子成为散牌。三条>对子>散牌。当双方结果都为三条时,直接比较三条数字的大小;都有对子时,先比较对子数字的大小,若相同,再比较剩下的骰子的数字的大小;都只有散牌时,先比较最大的数字的大小,若相同,再比较次大的数字的大小,还相同,最后比较最小的数字的大小。

现在Nias已经投了3个骰子,还剩一次机会可以选择其中一个骰子重新投(或不选),而且他已经知道了Ains的最后投掷结果,求Nias获胜的概率有多大。

 
Input
输入数据第一行为一个整数T,表示有T组测试数据。
接下来T行,每行6个1~6的整数,前三个表示Nias第一次的投掷结果,后三个表示Aias最终的投掷结果。
 
Output
请输出Nias获胜的概率,结果保留3位小数,每组输出占一行。
 
Sample Input
4
2 3 5 3 3 4
3 3 1 2 2 2
6 2 1 5 4 3
1 2 3 4 4 1
 
Sample Output
0.333
0.167
1.000
0.000

暴力枚举一下

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; int x[],a[],b[];
int T;
int fz,fm;
double ans;
int flag;
int tot; void copy()
{
a[]=x[];
a[]=x[];
a[]=x[];
} int cheak()
{
sort(a+,a+);
sort(b+,b+); int lva,lvb; if(a[]==a[]&&a[]==a[]) lva=;
else if(a[]==a[]||a[]==a[]) lva=;
else lva=; if(b[]==b[]&&b[]==b[]) lvb=;
else if(b[]==b[]||b[]==b[]) lvb=;
else lvb=; if(lva>lvb) return ;
else if(lva<lvb) return ;
else if(lva==lvb)
{
if(lva==)
{
if(a[]>b[]) return ;
else return ;
} else if(lva==)
{
if(a[]>b[]) return ;
else if(a[]<b[]) return ;
else
{
int u1,u2;
if(a[]==a[]) u1=a[];
else u1=a[]; if(b[]==b[]) u2=b[];
else u2=b[]; if(u1>u2) return ;
else return ;
}
} else if(lva==)
{
if(a[]>b[]) return ;
else if(a[]<b[]) return ;
else
{
if(a[]>b[]) return ;
else if(a[]<b[]) return ;
else
{
if(a[]>b[]) return ;
else if(a[]<b[]) return ;
else return ;
}
}
return ;
}
}
} int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d %d%d%d",&x[],&x[],&x[],&b[],&b[],&b[]); copy();
flag=cheak();
fz=flag; if(fz) printf("1.000\n"); else if(fz==)
{
ans=;
fm=;
for(int i=;i<=;i++)
{
tot=;
for(int j=;j<=;j++)
{
copy();
a[i]=j;
flag=cheak();
tot=tot+flag;
}
if(tot==) continue;
ans=max(ans,1.0*tot/);
}
printf("%.3lf\n",ans);
}
}
return ;
}

2015 HDU 计算机学院 院赛 1003 玩骰子的更多相关文章

  1. hdu 计算机学院大学生程序设计竞赛(2015’11)

    搬砖 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...

  2. HDU计算机学院大学生程序设计竞赛(2015’12)Happy Value

    Problem Description In an apartment, there are N residents. The Internet Service Provider (ISP) want ...

  3. HDU计算机学院大学生程序设计竞赛(2015’12)The Magic Tower

    Problem Description Like most of the RPG (role play game), “The Magic Tower” is a game about how a w ...

  4. HDU计算机学院大学生程序设计竞赛(2015’12)The Country List

    Problem Description As the 2010 World Expo hosted by Shanghai is coming, CC is very honorable to be ...

  5. HDU 4750 Count The Pairs (2013南京网络赛1003题,并查集)

    Count The Pairs Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others ...

  6. java爬虫查找四川大学所有学院的网站的网址中的通知和新闻——以计算机学院为例

    需求:查找四川大学所有学院的网站的网址中的通知和新闻——以计算机学院为例 流程图 3. 具体步骤 (1) 学院的主页为:http://cs.scu.edu.cn/ 获取该页面的所有内容(本文只获取新闻 ...

  7. 2015 HDU 多校联赛 5363 Key Set

    2015 HDU 多校联赛 5363 Key Set 题目: http://acm.hdu.edu.cn/showproblem.php? pid=5363 依据前面给出的样例,得出求解公式 fn = ...

  8. 2015 HDU 多校联赛 5317 RGCDQ 筛法求解

    2015 HDU 多校联赛 5317 RGCDQ 筛法求解 题目  http://acm.hdu.edu.cn/showproblem.php? pid=5317 本题的数据量非常大,測试样例多.数据 ...

  9. HDU 5371 (2015多校联合训练赛第七场1003)Hotaru&#39;s problem(manacher+二分/枚举)

    pid=5371">HDU 5371 题意: 定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分同样,第一部分与第二部分对称. 如今给你一个长为n(n<10^5)的序 ...

随机推荐

  1. .NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤

    转:http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能,可以通过点击表头上的下拉列表来实现数据的 ...

  2. cmstop中实例化controller_admin_content类传递$this,其构造方法中接收到的是--名为cmstop的参数--包含cmstop中所有属性

    主程序cmstop类,实例化controller_admin_content类(接收请求后拼接的).传递cmstop所有属性过去.controller_admin_content.构造方法中接收到名称 ...

  3. 二分图匹配之KM求二分图最佳匹配算法

    参考网址:http://blog.163.com/suntroop@yeah/blog/static/17012103120115185927194/ 对于具有二部划分( V1, V2 )的加权完全二 ...

  4. 在windows命令行窗口下执行:查看所有的端口占用情况

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  5. 笨方法学python--字符串和文本

    1print 变量 abc = False joke_string = "Isn't that joke so funny?! %r" print joke_string %abc ...

  6. sql 比较2个test字段的值

    可以用 CAST([TEXT字段]AS VARCHAR(MAX)),然后再比较

  7. input内文字点击消失 弹出层,可以写表单

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  8. Android中的分页加载

    //----------------------MainActivity中--------------------------------------------------- package com ...

  9. SuperSocket+unity 网络笔记

    学习SuperSocket 必须要注意的 代码是 static void Main(string[] args) { WebSocketServer appServer = new WebSocket ...

  10. 破解SharpPlus Sqlite Develope[转]

    1.运行里输入regedit,打开注册表 2.编辑->查找,输入sqlite 查找结果如下 3.直接删除SqliteDev节点就可以了,重新打开Sqlite Developer就可以用了,当然还 ...