POJ 2253 Frogger
来源:互联网 发布:淘宝保证金是什么 编辑:程序博客网 时间:2024/06/08 15:34
就是从某点到某点找一条路径,使得这条路径上的最长的长度最短
这个问题,跟最短路的性质类似,所以也可以这样去搞,
if (!vis[j] && max(dist[k], graph[k][j]) < dist[j])
{
dist[j] = max(dist[k], graph[k][j]);
//path[j] = k;
}
{
dist[j] = max(dist[k], graph[k][j]);
//path[j] = k;
}
就是dist[j]存储从出发点到该点的路径上的最长边,然后最后搜完就行
#include <cstdio>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>#include <queue>using namespace std;#define ll long long#define ull unsigned long long#define INF 0x3f3f3f3f#define maxn 1005struct Node{int x, y;};int Euclid(Node a, Node b){return (a.x - b.x)*(a.x - b.x) + (a.y - b.y)*(a.y - b.y);}Node stone[maxn];int graph[maxn][maxn];//int path[maxn];bool vis[maxn];int dist[maxn];int n, m;void dijkstra(int s){memset(dist, 0x3f, sizeof(int)*maxn);memset(vis, false, sizeof(vis));//memset(path, -1, sizeof(int)*maxn);dist[s] = 0;for (int i = 0; i < n; ++i){int k = -1, minv = INF;for (int j = 0; j < n; ++j){if (!vis[j] && dist[j] < minv){minv = dist[j];k = j;}}if (k == -1)break;vis[k] = true;//printf("k %d\n", k);for (int j = 0; j < n; ++j){if (!vis[j] && max(dist[k], graph[k][j]) < dist[j]){dist[j] = max(dist[k], graph[k][j]);//path[j] = k;}}}}int main(){//freopen("input.txt", "r", stdin);int kase = 0;while (scanf("%d", &n) != EOF){if (n == 0)break;memset(graph, 0x3f, sizeof(int)*maxn*maxn);for (int i = 0; i < n; ++i){scanf("%d%d", &stone[i].x, &stone[i].y);}for (int i = 0; i < n; ++i){for (int j = i + 1; j < n; ++j){graph[i][j] = Euclid(stone[i], stone[j]);graph[j][i] = graph[i][j];}}/*for (int i = 0; i < n; ++i){for (int j = 0; j < n; ++j)printf("%d ", graph[i][j]);printf("\n");}*/dijkstra(0);int ans = dist[1];printf("Scenario #%d\nFrog Distance = %.3f\n\n", ++kase, sqrt(ans*1.0));}//system("pause");//while (1);return 0;}
0 0
- poj 2253 - Frogger --- SPFA
- poj 2253 - Frogger --- dijkstra
- POJ 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- POJ 2253 Frogger Floyd
- poj 2253 : Frogger (dijkstra)
- Poj 2253 Frogger
- POJ 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj 2253 Frogger
- poj-2253-Frogger
- POJ 2253 Frogger
- POJ 2253 Frogger
- POJ 2253 Frogger
- DPI和PPI区别
- Service的使用(四)前台服务与AIDL
- Chromium为视频标签<video>创建播放器的过程分析
- Android SQLiteDatabase的使用
- NodeJs——(16)用Nodejs 4.X版本,制作一个微博网站(多图,详细步骤)(已完成)
- POJ 2253 Frogger
- xml序列化到本地以及使用Pull解析xml
- 平面最近点对问题求解
- JSON和JSONP
- dip和px区别联系 产生的根源和设计时的影响如何?是否屏幕密度的决定原因?
- 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)
- Android一行命令上传你的项目到Jcenter/Maven
- 如何做个好员工(转载)
- Caused by: java.lang.SecurityException: Permission Denif