暴力就行,不过要注意,如果一开始就赢了,那么就不用再置骰子了那么就为1了。

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<algorithm>
  4 #include<iostream>
  5 #include<queue>
  6 #include<math.h>
  7 int kk();
  8 using namespace std;
  9 typedef long long ll;
 10 int a[7];
 11 int b[4];
 12 int c[4];
 13 int d[4];
 14 int main(void)
 15 {
 16     int n,i,j,k,p,q,s;
 17     scanf("%d",&k);
 18     while(k--)
 19     {
 20         for(i=1; i<=3; i++)
 21         {
 22             scanf("%d",&b[i]);
 23             c[i]=b[i];
 24         }
 25         for(i=1; i<=3; i++)
 26         {
 27             scanf("%d",&a[i]);
 28             d[i]=a[i];
 29         }
 30         int nn=kk();
 31         double sum;
 32         if(nn==1)
 33         {
 34             sum=1;
 35         }
 36         else
 37         {
 38             int uu=0;
 39             for(i=1; i<=3; i++)
 40             {
 41
 42                 int rr=0;
 43                 for(s=1; s<=6; s++)
 44                 {
 45                     for(j=1; j<=3; j++)
 46                     {
 47                         c[j]=b[j];
 48                     }
 49                     c[i]=s;
 50                     rr+=kk();
 51                 }
 52                 if(rr>uu)
 53                 {
 54                     uu=rr;
 55                 }
 56
 57             }
 58             sum=1.0*uu/6;
 59
 60         }
 61         printf("%.3f\n",sum);
 62     }
 63     return 0;
 64
 65 }
 66
 67 int kk()
 68 {
 69     int i,j,k,p,q;
 70     sort(c+1,c+4);
 71     sort(d+1,d+4);
 72     int cnt=0;
 73     int cnt2=0;
 74     for(i=2; i<=3; i++)
 75     {
 76         if(d[i]==d[i-1])
 77         {
 78             cnt++;
 79         }
 80         if(c[i]==c[i-1])
 81         {
 82             cnt2++;
 83         }
 84     }
 85     if(cnt2>cnt)
 86     {
 87         return 1;
 88     }
 89     else if(cnt2<cnt)
 90     {
 91         return 0;
 92     }
 93     else if(cnt==cnt2)
 94     {
 95         if(cnt==0)
 96         {
 97             int nx=d[1]+d[2]*10+d[3]*100;
 98             int ny=c[1]+c[2]*10+100*c[3];
 99             if(ny>nx)
100             {
101                 return 1;
102             }
103             else return 0;
104         }
105         if(cnt==1)
106         {
107
108             for(i=1; i<=3; i++)
109             {
110                 if(c[i]!=c[2])
111                 {
112                     break;
113                 }
114             }
115             int nx=c[2]*100+c[2]*10+c[i];
116             for(i=1; i<=3; i++)
117             {
118                 if(d[i]!=d[2])
119                 {
120                     break;
121                 }
122             }
123             int ny=d[2]*100+d[2]*10+d[i];
124             if(nx>ny)
125             {
126                 return 1;
127             }
128             else return 0;
129         }
130         else if(cnt==2)
131         {
132             if(c[1]>d[1])
133             {
134                 return 1;
135             }
136             else return 0;
137         }
138     }
139 }

转载于:https://www.cnblogs.com/zzuli2sjy/p/5009052.html

玩骰子(概率,暴力)相关推荐

  1. 玩骰子的儿童(赫拉克利特)

    一 公元前六世纪左右,在希腊殖民的伊奥尼亚地区有两个最著名的城邦,一是米利都,一是爱菲索.这两个城邦都地处繁荣的港口,盛产商人.然而,它们之所以青史留名,则是因为出产了一个比商人稀有得多的品种--哲人 ...

  2. hdu计算机学院大学生程序设计竞赛(2015’11)1003 玩骰子

    玩骰子 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  3. hdu 校赛 玩骰子

    http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=638&pid=1003 玩骰子 Problem Description ...

  4. 玩骰子(hdu校赛)

    题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1003&cid=638 账号:team2166  密码:148 ...

  5. (2015 杭电校赛 )玩骰子

    玩骰子 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. 掷骰子 概率 动态规划

    掷骰子 题目描述 玩家A和B正在玩骰子游戏. A骰子有6个面,第i个面的点数是sideA[i]. B骰子有6个面,第i个面的点数是sideB[i]. 玩家A总共掷X次A骰子,每次掷骰子得到的面都是1/ ...

  7. 用C++的类完成玩骰子的游戏

    我们生活中随处可见的玩骰子游戏,那么我们用C++的类实现出来时会是怎么样呢? 首先,是得到一个1-6之间随机数的写法 Random.h #ifndef RANDOM__H__ #define RAND ...

  8. ContestHunter #26 B 玩骰子

    CH转移服务器上不去了,链接就不贴了. 题目简述: 掷N枚骰子,若掷到点数分别为A1,A2,An的[有序]集合,若该集合有一个子集之和为m,则称该集合为好集,问在N枚骰子的所有有序集合中取到一个好集的 ...

  9. EOJ #3452 唐纳德先生和假骰子【暴力】

    题目链接 题目意思 给你一个数字p,代表人数,接着给出你两个骰子的六个面的数值,现在要你将骰子向上的点数和对人数取余,得到的余数分别为0到p-1,现在问你游戏是否公平. 解题思路 数值很小我们就用暴力 ...

最新文章

  1. das,nas,san区别——大型数据中心会用NAS+SAN软硬结合思路
  2. python连接阿里云odps
  3. 【Android Developers Training】 68. 序言:添加动画
  4. 精准评论,为何广受娱乐类产品的欢迎?
  5. linux查域名对应的ip 系统调用,DDNS 的工作原理及其在 Linux 上的实现
  6. Verilog如何避免Latch
  7. 查找数组中最大的2个数
  8. android 6.0获取蓝牙权限
  9. 如何区分oracle服务器、oracle客户端、plsql?
  10. 随便一个人就能干预大选?
  11. paip. 混合编程的实现resin4 (自带Quercus ) 配置 php 环境
  12. C1WebChart 图形化处理。
  13. Python IDE(集成开发工具)的下载安装教程
  14. CUDA各个版本下载网址
  15. 3dmax快捷键命令大全
  16. 小程序开发工具_小程序开发工具都有哪些?
  17. 光敏电阻、测试夹、DC2.1电源接口及万用表的使用
  18. java注解 pdf_使用 iText 复制带注释的 PDF
  19. 关于switch的一些理解
  20. 【Oracle】关于索引的那些事

热门文章

  1. 云计算与云安全——应用安全
  2. python技术简介_Python简介
  3. MatlabPython-WLS加权最小二乘滤波
  4. linux 安装wls_121200步骤,centos6.6安装weblogic12c注意问题
  5. conda虚拟环境常见操作
  6. 计算某年有多少周(周的起始日期。结束日期)
  7. 高速数据采集卡如何在高速下进行采集
  8. 计算机鼠标的发展历史,历史上的今天:计算机鼠标诞生
  9. 昨天内部haskell freetalk的ppt和源码
  10. 腾讯视频云签到(2022-5-29更新)