最大島嶼 簡單的 搜尋

2022-06-27 08:51:11 字數 2201 閱讀 7738

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:2

描述神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。  這是乙個由海洋、島嶼和海盜組成的危險世界。面對危險重重的海洋與詭譎的對手,如何憑藉智慧型與運氣,建立起乙個強大的海盜帝國。

傑克船長手頭有一張整個海域的海圖,上面密密麻麻分布著各個海嶼的位置及面積。他想盡快知道整個海域共有多少島嶼以及最大島嶼的面積。

輸入第1行:m n t,表示海域的長,寬及乙個單位表示的面積大小

接下來有m行 ,每行有n個01組成的序列以及其中穿插一些空格。0表示海水,1表示陸地,其中的空格沒用,可以忽略掉。

輸出輸出一行,有2個整數,乙個空格間隔,表示整個海域的島嶼數,以及最大島嶼的面積

樣例輸入

8 16 99

00000000 00000000

0000110011000000

0001111000111000

0000000 00 0000000

00111 111000001 10

001110000 0000000

0100001111 111100

0000000000000000

樣例輸出

5 990
提示

①若乙個陸地八個方向之一(上、下、左、右、左上、右上、左下、右下)的位置也是陸地,則視為同乙個島嶼。

② 假設第一行,最後一行,第一列,最後一列全為0.

③ 1**

第八屆河南省程式設計大賽

1 #include2 #include3 #include

4using

namespace

std;

5char a[505][505];6

__int64 t,s,maxn,m,n;

7void

dfs(__int64 i,__int64 j)814

else

15return

;16 dfs(i+1

,j);

17 dfs(i-1

,j);

18 dfs(i,j+1

);19 dfs(i,j-1

);20 dfs(i+1,j+1

);21 dfs(i+1,j-1

);22 dfs(i-1,j+1

);23 dfs(i-1,j-1

);24}25

intmain()

2642

getchar();43}

44for(count=i=0;i)

45for(j=0;j)

4654

}55 printf("

%i64d %i64d\n

",count,maxn*t);56}

57return0;

58 }

下面附上廣搜**

1 #include2 #include

3 #include4 #include5 #include6 #include7 #include8 #include

9 #include10 #include

11 #include12 #include13 #include14

using

namespace

std;

15int n,m,s,b[8][2]=,mian=0;16

char a[505][505

];17

struct

node18;

21 queueq;

22void bfs(int y,int

x)23;27

q.push(q);

28while(!q.empty())

2942}43

}44}45

intmain()

4660

for(int i=0;i)

61for(int j=0;j)

6270

}71 printf("

%d %d\n

",count1,maxn*s);

72 maxn=count1=0;73

}74return0;

75 }

最大島嶼面積

用1表示陸地,0表示海洋,只有水平和豎直位置關係才算相鄰.求島嶼的最大連通面積 5 二維陣列大小 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 從一塊陸地出發,像四個方向遞迴遍歷 每次遞迴對下標進行判斷,以區域的邊界或者遇到海洋為遞迴邊界 設定訪...

問題 B 最大島嶼

神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。這是乙個由海洋 島嶼和海盜組成的危險世界。面對危險重重的海洋與詭譎的對手,如何憑藉智慧型與運氣,建立起乙個強大的海盜帝國。傑克船長手頭有...

HNACM 八 B 最大島嶼

傳送門 這裡輸入時有乙個小技巧,scanf 1d map i j 表示每次唯讀入1個數,如果前面不加1表示讀入到非數字的地方停止。這樣每次就只能讀入乙個數,可以用整型陣列存放地圖,而不是字元陣列。每當遇到乙個是1的點,就開始搜尋,同時把搜尋到的點都變成0,include define n 510 d...