标签:int tran pre with lines rip round names needed
http://poj.org/problem?id=1797
Description
Input
Output
Sample Input
1 3 3 1 2 3 1 3 4 2 3 5
Sample Output
Scenario #1: 4
代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
#define inf 0x3f3f3f3f
int T, N, M;
int vis[1010], dis[1010];
int mp[1010][1010];
int dijkstra(int st) {
memset(vis, 0, sizeof(vis));
memset(dis, -inf, sizeof(dis));
int temp;
dis[st] = 0;
for(int i = 2; i <= N; i ++)
dis[i] = mp[st][i];
for(int i = 1; i <= N; i ++) {
int minn = -1;
for(int j = 1; j <= N; j ++) {
if(vis[j] == 0 && dis[j] > minn) {
temp = j;
minn = dis[j];
}
}
vis[temp] = 1;
for(int k = 1; k <= N; k ++)
if(!vis[k] && dis[k] < min(dis[temp], mp[temp][k]))
dis[k] = min(dis[temp], mp[temp][k]);
}
return dis[N];
}
int main() {
scanf("%d", &T);
int cnt = 0;
while(T --) {
scanf("%d%d", &N, &M);
memset(mp, 0, sizeof(mp));
for(int i = 1; i <= M; i ++) {
int s, t, cost;
scanf("%d%d%d", &s, &t, &cost);
mp[t][s] = mp[s][t] = cost;
}
cnt ++;
int ans = dijkstra(1);
printf("Scenario #%d:\n%d\n\n", cnt, ans);
}
return 0;
}
标签:int tran pre with lines rip round names needed
原文地址:https://www.cnblogs.com/zlrrrr/p/9739647.html