当前位置: 首页 > news >正文

做网站推广邢台查询系统入口

做网站推广邢台,查询系统入口,wordpress站所有分类不显示,做的网站怎么转成网址链接迷宫 题目描述 这天, 小明在玩迷宫游戏。 迷宫为一个 nn 的网格图, 小明可以在格子中移动, 左上角为 (1,1), 右 下角 (n,n) 为终点。迷宫中除了可以向上下左右四个方向移动一格以外, 还有 m 个双向传送门可以使用, 传送门可以连接两个任意格子。 假如小明处在格子 (x1,y1)(…

迷宫

题目描述

这天, 小明在玩迷宫游戏。

迷宫为一个 n×n 的网格图, 小明可以在格子中移动, 左上角为 (1,1), 右 下角 (n,n) 为终点。迷宫中除了可以向上下左右四个方向移动一格以外, 还有 m 个双向传送门可以使用, 传送门可以连接两个任意格子。

假如小明处在格子 (x1,y1)(x_1,y _1)(x1,y1), 同时有一个传送门连接了格子 (x1,y1)(x_1,y_1)(x1,y1)(x2,y2)(x_2,y_2)(x2,y2), 那么小明既可以花费 1 的步数向上下左右四个方向之一走一格 (不能 越过边界), 也可以花费 1 的步数通过传送门走到格子 (x2,y2)(x_2,y_2 )(x2,y2) 去。

而对于同一个迷宫, 小明每次进入的初始格子是在这 n×n 个格子中均匀随 机的 (当然运气好可以直接随机到终点), 他想知道从初始格子走到终点的最短 步数的期望值是多少。

输出描述

输入共 1+m 行, 第一行为两个正整数 n,m 。后面 m 行, 每行四个正整数 ,xi1,yi1,xi2,yi2x_{i1},y_{i1},x_{i2},y_{i2}xi1,yi1,xi2,yi2表示第 i 个传送门连接的两个格 子坐标。

输出描述

输出共一行, 一个浮点数表示答案 (请保留两位小数)。

样例

样例输入

2 1
1 1 2 2

样例输出

0.75

样例解释

计算的是一个期望值,是矩阵中所有节点的最短路到终点的总和/ 矩阵大小。

思路

边权为1,还是可以使用bfs,不过由于传送门的存在,需要进行特殊判断。

代码实现

import java.util.*;public class Main{public static class pair{int first;int second;public pair(int first, int second) {this.first = first;this.second = second;}}static int[][] dir = {{1, 0},{-1, 0},{0, 1},{0, -1}};public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), m = sc.nextInt();int[][] matrix = new int[n + 1][n + 1];boolean[][] vis = new boolean[n + 1][n + 1];List<pair> list[][] = new ArrayList[n + 1][n + 1];for(int i = 0; i < m; i++) {int a = sc.nextInt(), b = sc.nextInt(), c = sc.nextInt(), d = sc.nextInt();if(list[a][b] == null) list[a][b] = new ArrayList<>();if(list[c][d] == null) list[c][d] = new ArrayList<>();list[a][b].add(new pair(c, d));list[c][d].add(new pair(a, b));}matrix[n][n] = 0;vis[n][n] = true; Queue<pair> queue = new ArrayDeque<>();queue.offer(new pair(n, n));while(!queue.isEmpty()) {pair cur = queue.poll();if(list[cur.first][cur.second] != null) {for(pair c : list[cur.first][cur.second]) {if(!vis[c.first][c.second]) {vis[c.first][c.second] = true;matrix[c.first][c.second] = matrix[cur.first][cur.second] + 1;queue.offer(c);}}}for(int[] d : dir) {int x = cur.first + d[0];int y = cur.second + d[1];if(0 < x && x <= n && 0 < y && y <= n && !vis[x][y]) {vis[x][y]= true; matrix[x][y] = matrix[cur.first][cur.second] + 1; queue.offer(new pair(x, y));}}}long sum = 0;for(int[] r : matrix) {for(int c : r)sum += c;}System.out.printf("%.2f", (double)((sum * 1.0)  / (n * n)));sc.close();}
}
http://www.yayakq.cn/news/474662/

相关文章:

  • 建国外网站买完域名后怎么做2345官网下载
  • 网页设计与网站建设指标点长沙做网站的公司有哪些
  • 记事本做网站怎么加图片百度h5游戏
  • 建设网站买了域名还要什么资料wordpress树形导航菜单
  • 提供手机自适应网站建设聊城哪里网站做的好
  • 网站开发自荐信搜索引擎优化策略有哪些
  • 昆明门户网站软件开发项目方案
  • 漫画网站php源码山东做网站公司有哪些
  • 最新网站建设常见问题网站做水印有没有影响吗
  • 胶州网站建设电话上海网上推广优化
  • 在电脑上怎么创建微网站吗wordpress 商城
  • 新建网站站点的每平每屋设计家官网
  • 想把一个网站屏蔽了怎么做最近发生的军事重大新闻
  • 网站的权限管理怎么做网站设计 psd
  • 招聘网站预算怎么做个人 可以备案做分类信息网站吗
  • 哈尔滨网站开发建设公司wordpress企业主题源码
  • 石家庄网站空间网站建设开发流程按钮
  • 漂亮的数据型网站哈尔滨网站设计多少钱
  • 做招标投标网站如何广安网站设计
  • 网站建设丨找王科杰效果好苏州建站公司选苏州聚尚网络
  • 网站建设的行业分析深圳福田教育
  • 个人网站建站系统公司官网制作报价
  • 自己怎么做网上注册免费的网站鞋子软文推广300字
  • c 开发商城网站开发网站开发用哪个软件
  • 做网站的公司需要什么资质wordpress 付费支持
  • 网站架构师招聘销售类电商网站如何做优化
  • html网站设计论文网站的形式有哪些
  • 常州网站的优化用wordpress招商
  • 代刷网站怎么做邢台58同城
  • 住房城乡建设部网站首页湛江正规网站制作方案