8 3 F 這是水題6

2021-08-04 20:27:58 字數 1553 閱讀 9289

f - 這是水題6

老 jack 有一片農田,以往幾年都是靠天吃飯的。但是今年老天格外的不開眼,大旱。所以老 jack 決定用管道將他的所有相鄰的農田全部都串聯起來,這樣他就可以從遠處引水過來進行灌溉了。當老 jack 買完所有鋪設在每塊農田內部的管道的時候,老 jack 遇到了新的難題,因為每一塊農田的地勢高度都不同,所以要想將兩塊農田的管道鏈結,老 jack 就需要額外再購進跟這兩塊農田高度差相等長度的管道。 

現在給出老 jack農田的資料,你需要告訴老 jack 在保證所有農田全部可連通灌溉的情況下,最少還需要再購進多長的管道。另外,每塊農田都是方形等大的,一塊農田只能跟它上下左右四塊相鄰的農田相連通。

input

第一行輸入乙個數字 t(

t≤10)

t(t≤10)

,代表輸入的樣例組數 

輸入包含若干組測試資料,處理到檔案結束。每組測試資料佔若干行,第一行兩個正整數  n,

m(1≤

n,m≤

1000

) n,m(1≤n,m≤1000)

,代表老 jack 有n行*m列個農田。接下來 n 行,每行 m 個數字,代表每塊農田的高度,農田的高度不會超過100。數字之間用空格分隔。 

output

對於每組測試資料輸出兩行: 

第一行輸出:"case #i:"。i代表第i組測試資料。 

第二行輸出 1 個正整數,代表老 jack 額外最少購進管道的長度。

sample input

2

4 3

9 12 4

7 8 56

32 32 43

21 12 12

2 3

34 56 56

12 23 4

sample output

case #1:

82case #2:

74

題意:一塊麥田需要安裝水管進行澆灌,麥田之間的高度差為需要的水管的長度,每個麥田能與上下左右四個方向的麥田連線,求出將所有麥田全部能夠澆灌所需要的最小的水管長度。

思路:將每個麥田右邊和下邊的高度差進行計算,將所有麥田遍歷一遍存入結構體,然後搜尋最小生成樹。

#include#include#includeusing namespace std;

struct edge;//結構體儲存資料u,v表示麥田座標,w表示所需水管長度

struct edge e[2000100];

int n,m;

int f[1001000],sum,c;

int a[1015][1015];

int cmp(edge a,edge b)//sort排序

int getf(int v)//並查集查詢

else }

int merge(int v,int u) //合併並查集

return 0;

}int main()

}t=0;

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

{for(j=1;j<=n;j++)

{if(j

F函式(水題)

問題描述 最近cyz 一直在研究乙個函式,函式是這樣的 if x 100 f x f f x 11 if x 101 f x x 10 現在cyz 需要知道一些值對應的函式值。輸入格式 輸入檔案包括若干行 最多2500000行 每行乙個正整數x x 1000000 最後一行以0結束.注意0不是要求的...

poj入門水題整理6

1.2209 the king 描述 有個聰明的國王,他有個缺點,就是數不到3。現在敵軍壓境,他想要把自己的兒子派出去。他知道他的有些兒子像他一樣聰明,有些卻愚昧無知。而且他清楚的知道,他兒子們的腦力潛能,從 3到3之間的乙個值 因為他只能數到3 他也知道他們取勝的機會和兒子們腦力潛能的冪之和和成比...

hpuoj 1345 f的問題 水題

welcome to hpu online judge!時間限制 1 sec 記憶體限制 128 mb 提交 154 解決 109 小王總是和f過不去,有一天他想能不能設計乙個程式,看看乙個字串裡 有多少個f.輸入n,表示有n組數,然後每組數輸入乙個字串 ps 1 n 10000,字串陣列範圍在10...