ACM第四次練習 1013

2021-07-14 12:43:25 字數 824 閱讀 6343

題意:先給出了乙個**,這個**也表示路程和花費的模板,然後根據這個對下面的問題進行解決,然後第三行給的是n,m,緊接著就是n行,表示的是0到1的距離,0到2的距離,0到3的距離。。。。依次下去。接下來的m行表示的就是要求的起點和終點了。

思路:直接用dijkastra就ok了 稍稍做一點點的變形,要注意的本題資料比較大 在定義最大值常量的時候要注意 一開始還wa了好多遍 結果定義成

const __int64 inf=0xffffffffffffff;

就過了,輸入輸出也要用__int64 。

感想:**,還要變形~

**:#include

#include

#include

using namespace std;  

const __int64 inf = 1e18;  

__int64 map[105][105];  

__int64 k[105];  

__int64 a[5];  

__int64 c[5];  

__int64 n,m;  

__int64 judge(__int64 x)  

__int64 kabs(__int64 a)  

void floyd()  

int main()  

for(i = 1; i<=n; i++)  

for(j = i; j<=n; j++)  

floyd();  

printf("case %i64d:\n",cas++);  

while(m--)  

}  return 0;  

}  

ACM第四次練習 1002

題意 求給定的點之間連通的最小距離。思路 最小生成樹的演算法,其核心是每次取最短的邊,看該邊相連的兩點是否在同乙個集合內,若在則跳過,若不在,就把兩個點合併,判斷與合併都用並查集實現。感想 開始的時候將邊初始化成了0,懵逼了 include include include include int f...

ACM第四次練習 1011

思路 這是一道最短路問題,可以用dijkstra或spfa解決。求出所有出發的站到所有終點站的最短路徑中的最小值,這樣就重複多次呼叫dijkstra 或 spfa,但如果運用一些技巧就可大大優化,題目中a,b均是大於1的,所以可以在設乙個點作為草兒的家的位置且該點的序號為0,只要把該點與所有始發站之...

函式第四次練習

1.編寫函式實現對長度為10的整數陣列利用氣泡排序法進行由小到大排序。通過main 函式呼叫實現函式功能。includevoid bubblesort int a for i 0 i 10 i int main bubblesort a 2.函式,輸入乙個十六進製制數,輸出相應的十進位制數。incl...