題目:
本題要求是要在最短路徑長度相同的情況下,選擇花費小的方案,但其實是沒有這樣的測試點的;九度還是有點弱哪!!
【糾結】:為什麼在選最小邊時不用考慮花費因素呢?
#include
#define maxsize 100000000
using
namespace
std;
int edges[1010][1010]; //邊長
int cost[1010][1010]; //表示花費
int visit[1010]; //表示是否已訪問
int dist[1010]; //表示當前已經找到的從v0到vi的最短路徑長度
int mincost[1010]; //表示最小花費
int main()
}for (int i = 0; i < m; i++)
scanf("%d%d", &s, &t);//輸入起點&終點
for (int i = 1; i <= n; i++)
visit[s] = 1;//加入起點
for (int k = 2; k <= n; k++) //if
}//for - i
visit[key] = 1;//加入出發點
for (int j = 1; j <= n; j++)
}}
printf("%d %d\n", dist[t], mincost[t]);
}//while
return
0;}
九度 1008 最短路徑問題
題目描述 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。輸入 輸入n,m,點的編號是1 n,然後是m行,每行4個數 a,b,d,p,表示a和b之間有一條邊,且其長度為d,花費為p。最後一行是兩個數 ...
九度OJ 題目1008 最短路徑問題
一題目描述 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。輸入 輸入n,m,點的編號是1 n,然後是m行,每行4個數 a,b,d,p,表示a和b之間有一條邊,且其長度為d,花費為p。最後一行是兩個數...
九度OJ 題目1008 最短路徑問題
題目描述 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。輸入 輸入n,m,點的編號是1 n,然後是m行,每行4個數 a,b,d,p,表示a和b之間有一條邊,且其長度為d,花費為p。最後一行是兩個數 ...