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
24 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...