#include #include #define maxn 100000000
int n,m,c1,c2;
int wei[505];
int w[505]; //到點v的最大點權之和
int g[505][505];
int num[505]; //到點v的最短路徑條數
int d[505];
int vis[505];
void dijkstra(int x)
num[v] += num[u];}}
}}
}int main()
d[q] = maxn;
}scanf("%d %d %d %d",&n,&m,&c1,&c2);
for(int i = 0;i使用的未經堆優化的原始dijkstra演算法。(優化的學不會
最短路徑模板題,除了路徑外,還有兩個標尺:路徑條數、費用。
其中路徑條數,每個點都繼承自前驅節點,只有當找到兩條及以上最短路徑時才+1。
(自用隨筆)PAT A1024
涉及大數運算,本人用的很笨的方法,當數字長度超過10時,分兩個char陣列將數字長度大於10的部分和小於10的部分分開存起來,然後轉成long long型大整數再運算。只過了前六個樣例,改不動了。不過收穫很多 include include include include include using...
(自用隨筆)PAT A1010
計算乙個數是否能通過某個進製轉換為另乙個數的問題。思路就是把輸入的資料轉化為全數字,再計算number大小。在計算第二個不知道進製的數時,從最低位開始計算,一旦數字超過了number1,就讓進製加一,重新計算,知道數字大小相等。網上比較高效的方法是二分法找進製,我用的笨方法,從2開始往上找。坑點就是...
(自用隨筆)PAT A1029 Median
聽說這個題原本記憶體限制1.5mb,太嚴格了。逼著你去用歸併排序。我寫的時候沒有想到,直接暴力存陣列,然後從頭乙個乙個比較,直到 n m 2的位置結束。但思想還是歸併。include include include using namespace std int n,m long long p,q ...