Bob还在棋盘中的概率

2024-05-25 21:20
文章标签 棋盘 概率 bob

本文主要是介绍Bob还在棋盘中的概率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述:给定5个参数,N,M,row,col,K,表示在N*M的区域上,醉汉Bob初始在(row,col)位置,Bob一共要迈出K步,且每步都会等概率向上下左右的4个方向之一走一个单位,任何时候Bob只要离开N * M区域,就直接死亡,返回K步之后,Bob还在N * M区域中的概率。

way:初始在某点的概率=在某点可以生存下来的路线数/在某点可以走的总路线数(4的K次方)(K步)。

#include<iostream>
#include<vector>
using namespace std;//目前在row, col位置,还有rest步要走,走完之后如果还在棋盘中就获得一种生存路线方案,返回总的生存方案数
long process(int row, int col, int rest, int N, int M)
{//超出区域,死if(row<0 || row==N || col<0 || col==M){return 0;}//否则就是还在棋盘中,返回一种生存方案if(rest==0) return 1;int ways=0;ways+=process(row-1, col, rest-1, N, M);ways+=process(row+1, col, rest-1, N, M);ways+=process(row, col-1, rest-1, N, M);ways+=process(row, col+1, rest-1, N, M);return ways;
}double livePosibility1(int row, int col, int K, int N, int M)
{return (double)process(row,col,K,N,M)/pow(4,K);
}

way2:dp版

//改dp
long long pick(int x, int y, int rest, int N, int M, vector<vector<vector<long long>>>dp)
{//超出区域,死if(x<0 || x==N || y<0 || y==M){return 0;}return dp[x][y][rest];
}double livePosibility2(int row, int col, int K, int N, int M)
{vector<vector<vector<long long>>>dp(N, vector<vector<long long>>(M, vector<long long>(K+1)));for(int i=0; i<N; i++){for(int j=0; j<M; j++){dp[i][j][0]=1;}}for(int rest=1; rest<=K; rest++){for(int i=0; i<N; i++){for(int j=0; j<M; j++){long long ways=0;ways+=pick(i-1, j, rest-1, N, M, dp);ways+=pick(i+1, j, rest-1, N, M, dp);ways+=pick(i, j-1, rest-1, N, M, dp);ways+=pick(i, j+1, rest-1, N, M, dp);dp[i][j][rest]=ways;}}}return (double)dp[row][col][K]/pow(4,K);
}

这篇关于Bob还在棋盘中的概率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002660

相关文章

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)

概率DP: 利用动态规划去解决 概率 期望 的题目。 概率DP 求概率(采用顺推) 从 初始状态推向结果,同一般的DP类似,只是经历了概率论知识的包装。 老题: 添加链接描述 题意: 袋子里有w只白鼠,b只黑鼠,A和B轮流从袋子里抓,谁先抓到白色谁就赢。A每次随机抓一只,B每次随机 抓完一只后 会有另外一只随机老鼠跑出来。如果两个人都没有抓到白色,那么B赢。A先抓,问A赢得概率。 w b 均在

三维激光扫描点云配准外业棋盘的布设与棋盘坐标测量

文章目录 一、棋盘标定板准备二、棋盘标定板布设三、棋盘标定板坐标测量 一、棋盘标定板准备 三维激光扫描棋盘是用来校准和校正激光扫描仪的重要工具,主要用于提高扫描精度。棋盘标定板通常具有以下特点: 高对比度图案:通常是黑白相间的棋盘格,便于识别。已知尺寸:每个格子的尺寸是已知的,可以用于计算比例和调整。平面标定:帮助校准相机和激光扫描仪之间的位置关系。 使用方法 扫描棋盘:

2024国赛论文拿奖快对照这几点及评阅要点,勿踩雷区!(国赛最后冲刺,提高获奖概率)

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2024“高教社杯”全国大学生数学建模竞赛已过去第三个夜晚,小伙伴们都累了没有,如果感到思维滞涩,别忘了稍作休息,放松一下自己,准备迎接国赛非常重要的收尾阶段——论文。 国赛这几天的努力最后都

杨bob的技术之旅

杨bob今天正式入驻csdn,以后要把自己每一点滴写成文章,这也是冲高阶的毕竟之路

XTOJ 1168 Alice and Bob (记忆化搜索)

OJ题目 : click here ~~ 题意分析:给一个数n,Alice可取1,2 , 4 ……2的i次方 ,Bob可取1,3,9……3的i次方。Alice先取,后Bob。轮流来,每个人至少取1。求n变成0,至少需要取多少次。记忆化搜索 = 搜索 + dp 。 AC_CODE #define gril 0#define boy 1using namespace std;const

HDU 4035 Maze (树状dp + 概率)

OJ题目 : click here ~~~ 题目分析 :这篇文章已经说的很好很好了 , 直接借用 ,猛戳~~ int n;double k[10002] , e[10002];double A[10002] , B[10002] , C[10002];vector<int> List[10002];bool dfs(int u , int father){if(List[u].s

前端自查【知识点】(高概率)2024最新版

HTML 如何理解 HTML 语义化 ? 仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性(让人更容易读懂)对SEO更加友好 (让搜索引擎更容易读懂) HTML有哪些内联元素和块状元素 ? 内联元素 宽度由内容决定 display :inline 若非替换元素,不能设置宽高 img,span , a 等 display :inline-bl

【校招面经】统计与概率基础 part2

十六、对偶问题 线性规划有一个有趣的特性,就是任何一个求极大的问题都有一个与其匹配的求极小的线性规划问题。 例;原问题为 MAX X=8*Z1+10*Z2+2*Z3 s.t. 2*Z1+1*Z2+3*Z3 〈=70 4*Z1+2*Z2+2*Z3 〈=80 3*Z1+ 1*Z3 〈=15 2*Z1+2*Z2 〈=50 Z1,Z2,Z3 〉=0 Z则其对偶问题为 MIN =70*Y

【HDU】 4089 Activation 概率DP

题目大意:Tomato要玩一个游戏,他需要排队,一开始这个队列共有N个人,而他在队列的第M个位置,每当有玩家尝试激活登陆游戏时, 会概率性触发四个事件。p1的概率注册失败,队列无变化。p2的概率连接失败,排在队首的人排到队尾。p3的概率成功,队首出队。p4的概率服务器 瘫痪,停止激活!这时候如果排在Tomato前面的人不足K个,那么他会很气愤。问 : Tomato排在第k位以内服务器瘫痪的概率。