1. 程式人生 > >nyoj 27水池數目

nyoj 27水池數目

水池數目

時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4
描述
南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。
輸入
第一行輸入一個整數N,表示共有N組測試資料
每一組資料都是先輸入該地圖的行數m(0<m<100)與列數n(0<n<100),然後,輸入接下來的m行每行輸入n個數,表示此處有水還是沒水(1表示此處是水池,0表示此處是地面)
輸出
輸出該地圖中水池的個數。
要注意,每個水池的旁邊(上下左右四個位置)如果還是水池的話的話,它們可以看做是同一個水池。
樣例輸入
2
3 4
1 0 0 0 
0 0 1 1
1 1 1 0
5 5
1 1 1 1 0
0 0 1 0 1
0 0 0 0 0
1 1 1 0 0
0 0 1 1 1
樣例輸出
2
3

典型的搜尋,一種模板,靈活運用,深入理解,熟練掌握

01.#include<stdio.h> 02.#include<string.h> 03.int s1[5]= {-1,1,0,0},s2[5]= {0,0,-1,1},a[110][110],b[110][110]; 04.int m,s; 05.void DFS(int x,int y) 06.{ 07.if(a[x][y]==1&&b[x][y]==0)
08.{ 09.b[x][y]=1; 10.for(int i=0; i<4; i++) 11.{ 12.int t1=x+s1[i]; 13.int t2=y+s2[i]; 14.if(t1>=0&&t1<=m&&t2>=0&&t2<=s&&a[t1][t2]==1&&b[t1][t2]==0) 15.DFS(t1,t2); 16.} 17.return ; 18.} 19.} 20. 21.int main() 22.{ 23.int n,i,j,t; 24.
scanf("%d",&n) ; 25.while(n--) 26.{ 27.t=0; 28.memset(b,0,sizeof(b)); 29.scanf("%d %d",&m,&s); 30.for(i=0; i<m; i++) 31.for(j=0; j<s; j++) 32.scanf("%d",&a[i][j]); 33.for(i=0; i<m; i++) 34.

相關推薦

nyoj 27水池數目

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地

nyoj--27--水池數目(dfs)

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

NYOJ 27 水池數目 【DFS】

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

NYOJ 27 水池數目(DFS)

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

nyoj 27 水池數目【遞迴】

順序查詢每找到一個水池就遞迴找和它(四周)相鄰的水池。    水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊

NYOJ 27 水池數目(深搜或廣搜)

題目很簡單是最基礎的搜尋題 首先是深搜寫法,遞迴 程式碼如下: [cpp] view plaincopyprint? #include<stdio.h> #include<stdlib.h> int m[100][100],a,b;  

NYOJ 27 水池數目 (BFS,DFS)

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

nyoj 27水池數目

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖

NYOJ 27 水池數目

#include<stdio.h> int n; int map[101][101]; int row, col; int der[4][2]={{0, 1},{1, 0},{0 , -1},{-1, 0}};//用二維陣列記錄四個方向 void count

NYOJ 27 水池數目(dfs)

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個

深搜 ,廣搜,佇列 nyoj 27 水池數目

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

nyoj 27 水池數目 搜尋

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,

NYOJ 27 水池數目 【簡單搜尋】

題意: 水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的

NYOJ 27 水池數目 深搜或廣搜

題目很簡單是最基礎的搜尋題 首先是深搜寫法,遞迴 #include<stdio.h> #include<stdlib.h> int m[100][100],a,b; int f[4][2]={{-1,0},{0,1},{1,0},{0,-1}};

NYOJ 27 水池數目 (dfs)

水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述        南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某

nyoj 題目27 水池數目

 水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該

nyoj ACM:水池數目(dfs)

水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算

DFS連通塊 NYOJ水池數目

題目描述 校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。 輸入 第一行輸入一個整數N,表示共有N組測試資料 每一組資料都是先輸入

NYOJ水池數目(DFS)

描述: 校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。 輸入:

nyoj 水池數目

題目27 題目資訊 執行結果 本題排行 討論區 水池數目 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了