网易试题

小易参加了一个骰子游戏,这个游戏需要同时投掷n个骰子,每个骰子都是一个印有数字1~6的均匀正方体。
小易同时投掷出这n个骰子,如果这n个骰子向上面的数字之和大于等于x,小易就会获得游戏奖励。
小易想让你帮他算算他获得奖励的概率有多大。

输入描述:

输入包括两个正整数n和x(1 ≤ n < 25, 1 ≤ x < 150),分别表示骰子的个数和可以获得奖励的最小数字和。

输出描述:

输出小易可以获得奖励的概率。
如果概率为1,输出1,如果概率为0,输出0,其他以最简分数(x/y)的形式输出。示例1

输入

3 9

输出

20/27

思路:动态规划

新建两个数组dp[0]和dp[1],设置标志符flag(0/1)dp[flag][i]为上一次的和为i的个数;dp[1-flag][i]为这次和为i的个数。所以dp[1-flag][i]=dp[flag][i-1]+...+dp[1-flag][i-6];然后再更新flag。

#include<bits/stdc++.h>
using namespace std;

//求最大公约数
long gcd(long a,long b){
    if(b==0)
        return a;
    return gcd(b,a%b);
}
int main(){
    int n,x;
    scanf("%d%d",&n,&x);
    int maxn=6*n;
  
    long* dp[2];
    dp[0]=new long[maxn+1];
    dp[1]=new long[maxn+1];
    int flag=0;
    long res=0;
    long sumres=0;
    for(int i=0;i<=maxn;i++){
        dp[flag][i]=0;
        dp[1-flag][i]=0;
    }
    for (int i=1;i<=6;i++){
        dp[flag][i]=1;
    }
    /*/
    典型的错误,有些位置上的数没有清零!!!
    for(int i=2;i<=n;i++){
        for(int j=1;j<=maxn;j++){           
            for(int k=1;k<=6;k++){
                if (j>k){
                    dp[1-flag][j]+=dp[flag][j-k];
                }
                else
                    break;
            }
        }
        flag=1-flag;
    }
    /*/
    for(int i=2;i<=n;i++){
        for(int j=0;j<i;j++)
            dp[1-flag][j]=0;//当算到第n张牌时,前n-1张牌和<n的个数为0;
        for(int j=i;j<=maxn;j++){
            dp[1-flag][j]=0;//当算到n张牌时,先初始化为0;
            for(int k=1;k<=6;k++){
                if (j>k){
                    dp[1-flag][j]+=dp[flag][j-k];
                }
                else
                    break;
            } 
        }
        flag=1-flag;
    }
    for(int i=x;i<=maxn;i++){
        res=res+dp[flag][i];
    }
 
    sumres=(long)pow(6,n);
    long count=gcd(res,sumres);
    if(res==0){
        printf("%d",res);
    }
    else if(sumres==res){
        printf("%d",sumres/res);
    }
    else
        printf("%ld/%ld",res/count,sumres/count);
    delete[] dp[0];
    delete[] dp[1];
}

网易笔试题——骰子游戏相关推荐

  1. 算法与数据结构——网易笔试题(一)

    算法题 13:二叉堆(网易2016实习研发工程师) 思路: ********************************************************************** ...

  2. 2018 web 网易笔试题

    想进网易同学注意了,这里是修真院面试笔记整理,那么这里就给大家分享一下 [2018 web 网易笔试题] 项目里用到了react,为什么要选择react,react有哪些好处? 面试官又接着问,那怎么 ...

  3. 比较重量(网易笔试题)

    小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更重. ...

  4. 网易笔试题 找朋友 真的是找朋友

    题目 : friend set 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述现在存有大量一对好友的列表,好友的好友也是好友,所有有好友关系的形成一个圈子,请找出圈子中的人 ...

  5. 网易笔试题(java 、 c++ 、软件测试等)

    A卷(研发类笔试题) 第一部分(必做): 计算机科学基础 1. (单选)软件设计中模块划分应该遵循的准则是:     A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 2. (单 ...

  6. 2009年网易笔试题

    A卷(研发类笔试题) 第一部分(必做): 计算机科学基础 1. (单选)软件设计中模块划分应该遵循的准则是:     A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 2. (单 ...

  7. 深信服2020校招研发类笔试题 解密游戏

    第二道笔试题没有完成,有些遗憾,在此补充记录一下.做的太认真就没有记题目什么的,那就靠回忆吧 Problem Description 大概是说一个解密游戏,A有密报和对应的译文,密报和译文都是以数字. ...

  8. 网易python笔试题_python 饥饿的小易(网易笔试题)

    本周早些时候,学弟给我发了一道网易的笔试题,饥饿的小易,感觉有点意思-分享给大家 题目描述: 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前 ...

  9. 剑指Offer——网易笔试题+知识点总结

    一.Fibonacci package cn.edu.ujn.nk;import java.util.ArrayList; import java.util.Scanner;/*** 费波纳茨数* @ ...

最新文章

  1. 机器学习_周志华_问题汇总_第2周
  2. vc6.0绿色完整版 适用于xp win7 win8 win10
  3. python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...
  4. 整理:各个浏览器及web服务器对URL(get)长度的限制
  5. JMeter学习(三十一)Access Log Sampler
  6. 最短路中部分点只能从中任意选取K个问题
  7. inDesign入门教程,如何添加阴影效果?
  8. plt.plot绘图
  9. SQL十进制和十六进制相互转换
  10. 51单片机原理以及接口技术(四)--80C51的程序设计
  11. oracle pck文件是什么,PCK文件扩展名 - 什么是.pck以及如何打开? - ReviverSoft
  12. 思科交换机路由器 连接配置步骤
  13. 单反相机坏点和噪点测试软件,坏点和噪点测试程序(照片检测工具)
  14. 最新前端开发面试笔试题及答案---图片(面试题系列持续更新中)(4)
  15. 背光模块市场现状研究分析与发展前景预测报告
  16. 深入理解 TORCH.NN
  17. node 版本管理工具 nvm,node版本升级、降级
  18. Apache Storm-2.0.0 Trident 新版
  19. yd什么意思_yd是什么单位?
  20. intel 945 集成显卡 UBUNTU 宽屏 调节分辨率

热门文章

  1. 关于开发中耦合度的强弱顺序
  2. JS实现简易网页计算器
  3. 多模态情绪识别系统,实验遇到的问题总结
  4. 计算机语言的不等于,ABAP 不等于 大于等于 小于等于的几种写法详解
  5. 记一次,继承出现的问题“cannot access its superclass”
  6. .NET中Invoke和BeginInvoke
  7. matlab绘制加速度曲线,科学网-Matlab编写由加速度积分得到速度和位移函数-王德才的博文...
  8. 布署phpMyadmin
  9. 【研】2019 届 计算机 夏令营
  10. 晶圆代工行业现状:耗费巨资的半导体游戏