标签:app red pos namespace length uniq return map trail
Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get back as quickly as possible.
Input
Output
Sample Input
5 5 1 2 20 2 3 30 3 4 20 4 5 20 1 5 100
Sample Output
90
Hint
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <set> #include <queue> #include <map> #include <sstream> #include <cstdio> #include <cstring> #include <numeric> #include <cmath> #include <iomanip> #include <deque> //#include <unordered_set> //#include <unordered_map> //#include <xfunctional> #define ll long long #define PII pair<int, int> using namespace std; int dir[5][2] = { { 0,1 } ,{ 0,-1 },{ 1,0 },{ -1,0 } ,{ 0,0 } }; const long long INF = 0x7f7f7f7f7f7f7f7f; const int inf = 0x3f3f3f3f; const double pi = 3.14159265358979; const int mod = 1e9 + 7; const int maxn = 1100; //if(x<0 || x>=r || y<0 || y>=c) //1000000000000000000 int edge[maxn][maxn]; vector<bool> vis(maxn, false); vector<int> dis(maxn, inf); int t, n; void dijkstra(int x) { int v = x; dis[v] = 0; vis[v] = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (vis[j] == false && dis[v] + edge[v][j]<dis[j]) { dis[j] = dis[v] + edge[v][j]; } } int minn = inf; for (int j = 1; j <= n; j++) { if (vis[j] != 1 && dis[j]<minn) { minn = dis[j]; v = j; } } vis[v] = 1; } } int main() { cin >> t >> n; for (int i = 0; i < maxn; i++) { for (int j = 0; j < maxn; j++) { edge[i][j] = inf; } edge[i][i] = 0; } for (int i = 1; i <= t; i++) { int u, v, w; cin >> u >> v >> w; if (edge[u][v]>w) { edge[v][u] = w; edge[u][v] = w; } } dijkstra(1); cout << dis[n]; return 0; }
A - Til the Cows Come Home POJ - 2387
标签:app red pos namespace length uniq return map trail
原文地址:https://www.cnblogs.com/dealer/p/12595927.html