[百度]蘑菇阵

时间限制:1秒 空间限制:32768K 热度指数:13415

本题知识点: 动态规划

算法知识视频讲解

题目描述

现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少?

输入描述:
第一行N,M,K(1 ≤ N,M ≤ 20, k ≤ 100),N,M为草地大小,接下来K行,每行两个整数x,y,代表(x,y)处有一个蘑菇。
输出描述:
输出一行,代表所求概率(保留到2位小数)
输入例子:
2 2 12 1
输出例子:
0.50
 1 #include<iostream>
 2
 3 using namespace std;
 4
 5 int main()
 6 {
 7     double p[25][25],m_vis[25][25];
 8     int n,m,k;
 9     while(cin>>n>>m>>k)
10     {
11         for(int i=0;i<25;i++)
12         {
13            for(int j=0;j<25;j++)
14                {
15                   p[i][j]=0;
16                   m_vis[i][j]=0;
17            }
18         }
19
20
21         int x,y;
22
23         for(int i=0;i<k;i++)
24         {
25             cin>>x>>y;
26             m_vis[x][y]=1;
27         }
28
29         p[1][1]=1;
30         if(m_vis[1][1]||m_vis[n][m])
31         {
32             printf("0.00\n");
33             continue;
34         }
35
36         for(int i=1;i<=n;i++)
37         {
38             for(int j=1;j<=m;j++)
39             {
40                 if(i==1&&j==1)
41                     continue;
42                 if(m_vis[i][j])
43                     p[i][j]=0;
44                 else
45                 {
46                     if(j==m)
47                         p[i][j]+=p[i-1][j]*0.5;
48                     if(i==n)
49                         p[i][j]+=p[i][j-1]*0.5;
50                     p[i][j]+=p[i-1][j]*0.5+p[i][j-1]*0.5;
51                 }
52             }
53         }
54         printf("%.2f\n",p[n][m]);
55
56     }
57     return 0;
58 }
时间: 2024-10-18 21:55:45

[百度]蘑菇阵的相关文章

任意阶魔方阵(幻方)的算法及C语言实现

写于2012.10: 本来这是谭浩强那本<C程序设计(第四版)>的一道课后习题,刚开始做得时候去网上找最优的算法,结果发现奇数和双偶数(4的倍数)的情况下算法都比较简单,但是单偶数(2的倍数但不是4的倍数)情况一直找不到明确的算法,就连百度百科对这一问题的解释也是“因非四的倍数作法相当复杂,在此只介绍四的倍数的作法”,而且连谭浩强那本书给的答案中竟然也变相的限定了n只能为奇数(题目并未说明).在广泛查找资料后,发现了一篇由中南大学信息科学与工程学院某教授和研究生撰写的论文,介绍了任意阶幻方的算

航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)

航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.-- A--美国2. 地球到月球大约-- C 38 万公里3. 建立了航空史上第一条定期空中路线-- B--德国4. 对于孔明灯来说,最重要的是-- C--自重5. 世界公认的人类第一次重于空气的,有动力驱动的飞行器进行的载人飞行的空速是每小时-- B--46 公里6. 一战期间飞机使用的是双翼飞机-- B--双翼7. 航空业才逐渐兴起-- B--(一次世界大战后)8. 德国制造了第一架喷气式飞机-- D--德国9. 美国实现了人类

百度地图API实现批量地址解析

1.前言 写这篇文章的原因是最近做一个GIS项目在网上爬取了一些数据,无奈只有地址的文字信息没有坐标信息,如何把信息显现在地图上呢?很纠结啊,查看了一下百度地图API惊奇的发现百度提供了地址解析的API,然后查看了他的Demo后豁然开朗,所以动手将自己的文字信息数据进行解析坐标信息.下面开始讲解. 2.方案 (1)自己数据库中的数据 (2)百度地图API Demo <!DOCTYPE html> <html> <head> <meta http-equiv=&qu

js中实现高德地图坐标经纬度转百度地图坐标

1 function tobdMap(x, y) { 2 var x_pi = 3.14159265358979324 * 3000.0 / 180.0; 3 var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); 4 var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); 5 var bd_lon = z * Math.cos(theta) + 0.00

Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信

Vue2.0与 [百度地图] 结合使用: 1.vue init webpack-simple vue-baidu-map 2.下载axios cnpm install axios; 3.在main.js中引入axios,并使用 import axios from 'axios' /* 把axios对象挂到Vue实例上面,其他组件在使用axios的时候直接 this.$http就可以了 */ Vue.prototype.$http = axios; 4.引入百度地图的js秘钥--->最好在inde

百度跳转漏洞

不知道这算不算漏洞,我觉得是有一定的危险的. 偶然间在百度贴吧发现一个帖子是这样的: 点击之后会跳转到http://zmb338.com ,奇怪的是这个回复并没有被贴吧系统删除掉. 我试了一下,下面这两个帖子都没有被百度删除掉. 这说明百度对站点m.baidu.com不过滤,这是第一个存在的问题,第二是百度自己没有对http://m.baidu.com/相关跳转url的参数过滤. 这种跳转漏洞很容易被钓鱼,比如我可以构造这样一个URL,附加一些欺诈信息,比如你的账户最近被异地登陆,请点击下面的网

自定义百度网盘分享密码 提取码

经过分析代码发现,百度网盘的自定义密码是在本地生成的,本地生成?那么我们就可以修改了. 请按照以下步骤进行操作: 在浏览器中打开百度云盘,选中需要分享的文件,然后点击分享按钮: 点击分享按钮后会弹出一个模态框,先不管它,按 F12 打开开发者工具,切换至控制台(Console),将以下代码复制粘贴到控制台,然后回车: 1 javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).pro

2016百度之星 补题记

2016"百度之星" - 复赛(Astar Round3) 拍照 思路:先把所有的线段投影到x轴,然后将所有线段的起末坐标存进数组,排序后从坐标最小开始枚举.如果遇到起点标志,就加一:结束点标志减一.如此即可求出同一时刻,遇到当前线段结束点时,有多少线段包含在内 /************************************************************** Problem:hdu 5417 User: youmi Language: C++ Result

百度地图标注图标太小

1.1.1  现象 百度地图中,定位点的标注示意图标太小: 实际期望的图标是这样的: 1.1.2  原因 检查了很久,以为是打开地图时的设置问题,后来慢慢查找地图上的元素定位,终于发现原来这个图标大小是被CSS控制的,在地图元素的内部可以找到如下代码: 这个img元素就是用来显示定位图标的,可以修改这个元素的CSS属性来改变大小. 1.1.3  解决 如果要使用默认大小,则需要配置如下CSS: img {     max-width: inherit; } 原来图标变小,是因为其它CSS配置导致