float caculate(int Pos, int Step, vector<vector<float>> &P) { float Pleft = 0, Pright = 0 ; /*步数走完肯定不会掉下去*/ if( Pos >= 0 && Pos <= 60 && Step == 0) { P[Pos][Step] = 1; return P[Pos][Step]; } /*越界肯定会掉下去*/ if(Pos < 0 || Pos > 60) { return 0; } /*由于会算很多组,算过了就不用再算了,不等于初始值就代表算过了*/ if(P[Pos][Step] > -0.5 ) { return P[Pos][Step]; } /*在某一位置不会掉落的概率 = 向左走的概率(1/2) * 左边位置不会掉落的概率 + 向右走的概率(1/2) * 右边位置不会掉落的概率 */ Pleft = (1/2) * caculate(Pos - 1, Step - 1, P); Pright = (1/2) * caculate(Pos + 1, Step - 1, P); P[Pos][Step] = Pleft + Pright; return P[Pos][Step]; }
点赞 评论

相关推荐

陌夏微秋:一线城市25w左右吧,17×15=255
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务