題意:
每條邊都有長度d 和花費p,給你起點s 終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。
解析:考察對dijkstra的理解。
**:
#include #include #include #include #include #include #include #include #include #include #include #include #define ll long long
using namespace std;
const int maxn = 1000 + 10;
const int inf = 0x3f3f3f3f;
const double eps = 1e-8;
const double pi = 4 * atan(1.0);
const double ee = exp(1.0);
int n, m;
int s, t;
int dis[maxn][maxn], cost[maxn][maxn];
bool vis[maxn];
void dijkstra()}}
//vis[mark] = true;
for (int j = 1; j <= n; j++)}}
}}int main()
}for (int i = 0; i < m; i++)
}scanf("%d%d", &s, &t);
dijkstra();
printf("%d %d\n", dis[s][t], cost[s][t]);
}return 0;
}
HDU 3790 最短路徑問題 dij
g 最短路徑問題 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費...
hdu3790 最短路變形
這題就是比普通的最短路多維護了乙個cot陣列,cot i 表示的是起點到i節點的最短路徑對應的最小花費。要注意重邊的處理,我用鄰接表存圖,應該是重邊沒處理好,畢竟鄰接表處理重邊不太方便要把全部的都遍歷一遍,以後有重邊的情況還是用鄰接矩陣存圖算了。includeusing namespace std ...
hdu3790 最短路變形
這題就是比普通的最短路多維護了乙個cot陣列,cot i 表示的是起點到i節點的最短路徑對應的最小花費。要注意重邊的處理,我用鄰接表存圖,應該是重邊沒處理好,畢竟鄰接表處理重邊不太方便要把全部的都遍歷一遍,以後有重邊的情況還是用鄰接矩陣存圖算了。includeusing namespace std ...