HDU
来源:互联网 发布:淘宝s挂钩 编辑:程序博客网 时间:2024/06/05 00:54
题目大意:Y 和 M 约定在一家 KFC 相见,地图上有许多家 KFC 都用 @ 表示,每移动一格耗时 11 分钟,找一条耗费时间最少的路,并输出两人耗时之和。
解题思路:t 数组记录到达当前位置需要几步,两次 BFS 即可求出两个人到达某个位置的步数和,最后遍历地图,找出所有 @ 对应位置次数和最少的地方,输出时间。
有的 @ 是无法达到的,在 t 中仍是初始化的 0,这要比可达的时间少,但显然是错误的,因此找答案的时候还要判断一下是否为 0
#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>#include<queue>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))const int INF = 0x3f3f3f3f;const int NINF = -INF -1;const int MAXN = 200+10;using namespace std;int n, m;char map[MAXN][MAXN];bool vis[MAXN][MAXN];int t[MAXN][MAXN];int dx[] = {-1, 0, 1, 0};int dy[] = {0, -1, 0, 1};struct point { int x, y, t;};int bfs(int x, int y) { queue<point> q; point s, p; s.x = x; s.y = y; s.t = 0; q.push(s); vis[s.x][s.y] = 1; while (!q.empty()) { s = q.front(); q.pop();//printf("%d %d\n", s.x, s.y); for (int i = 0; i < 4; i++) { p.x = s.x + dx[i]; p.y = s.y + dy[i]; p.t = s.t + 1;//printf("--%d %d\n", p.x, p.y); if (p.x < 0 || p.x >= n || p.y < 0 || p.y >= m) continue; if (map[p.x][p.y] != '#' && !vis[p.x][p.y]) { q.push(p); vis[p.x][p.y] = 1; t[p.x][p.y] += p.t; } } }}int main() { while (scanf("%d%d", &n, &m) != EOF) { getchar(); memset(t, 0, sizeof(t)); for (int i = 0; i < n; i++) gets(map[i]); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) if (map[i][j] == 'Y' || map[i][j] == 'M') { memset(vis, 0, sizeof(vis)); bfs(i, j); }/*for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) printf("%d ", t[i][j]); printf("\n");}*/ int ans = INF; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) if (map[i][j] == '@' && t[i][j] != 0) ans = min(ans, t[i][j]); printf("%d\n", ans*11); } return 0;}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- 带重复元素的全排列
- 域名劫持之httpDNS解决方案
- U-boot的工作流程分析-2440
- 如何更改linux文件的拥有者及用户组(chown和chgrp)
- elf文件格式总结
- HDU
- 2017.8.9Philips Weng讲座总结
- 子窗口与父窗口交互
- 输入框自动补全js代码
- 1、Velocity概念
- Servlet 生命周期详解
- Hadoop HDFS SingleCluster安装
- 中国部分城市地震危险度排名
- 字符串截取函数slice, substring, substr