NYOJ-水池數目(dfs)
水池數目
描述:
南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。
輸入:
第一行輸入一個整數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
程式程式碼:
#include<stdio.h> void dfs(int x,int y); int a[110][110]; int count,m,n; int main() { int T,i,j; scanf("%d",&T); while(T--) { count=0; scanf("%d%d",&m,&n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=0;i<m;i++) for(j=0;j<n;j++) if(a[i][j]==1) { dfs(i,j); count++; } printf("%d\n",count); } return 0; } void dfs(int x,int y) { int tx,ty,k; int next[4][2]={0,1, 0,-1, 1,0, -1,0}; for(k=0;k<4;k++) { tx=x+next[k][0]; ty=y+next[k][1]; if(tx<0||tx>m-1||ty<0||ty>n-1) continue; if(a[tx][ty]==1) { a[tx][ty]=0; dfs(tx,ty); } } return; }
相關推薦
NYOJ—水池數目(DFS)
描述: 校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。 輸入:
NYOJ-水池數目(dfs)
水池數目 描述: 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。 輸入: 第一行輸入一個整數N,表示共有N組測試資料 每一組
nyoj--27--水池數目(dfs)
水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,
NYOJ 27 水池數目 (dfs)
水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某
NYoj最少步數(DFS)
描述 這有一個迷宮,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,
NYOJ 27 水池數目 (BFS,DFS)
水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,
NYOJ 27 水池數目(深搜或廣搜)
題目很簡單是最基礎的搜尋題 首先是深搜寫法,遞迴 程式碼如下: [cpp] view plaincopyprint? #include<stdio.h> #include<stdlib.h> int m[100][100],a,b;
The partial sum problem (DFS)nyoj
The partial sum problem 時間限制:1000 ms | 記憶體限制:65535 KB 輸入 There are multiple test cases. Each test case contains three lines.The first
DFS連通塊 NYOJ水池數目
題目描述 校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。 輸入 第一行輸入一個整數N,表示共有N組測試資料 每一組資料都是先輸入
NYOJ 27 水池數目 【DFS】
水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,
NYOJ 722 數獨(dfs)
數獨 時間限制:1000 ms | 記憶體限制:65535 KB 難度:4 描述 數獨是一種運用紙、筆進行演算的邏輯遊戲。玩家需要根據9×9盤面上的已知數字,推理出所
nyoj 1276 機器裝置(DFS)
機器裝置 描述 Alpha 公司設計出一種節能的機器裝置。它的內部結構是由 N 個齒輪組成。整個機器裝置有 一個驅動齒輪,當啟動它時,它立即按 10,000 圈/小時轉速順時針轉動,然後它又帶動與它相切 的齒輪反方向,即逆時針轉動。齒輪之間互相作用,每個齒輪
nyoj 32 組合數(dfs)
描述 找出從自然數1、2、… 、n(0< n< 10)中任取r(0< r<=n)個數的所有組合。 輸入 輸入n、r。 輸出 按特定順序輸出所有組
NYOJ 32 組合數(dfs)
組合數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述找出從自然數1、2、... 、n(0<n<10)中任取r(0<r<=n)個數的所
nyoj 32-組合數(DFS)
組合數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述找出從自然數1、2、... 、n(0<n<10)中任取r(0<r<=n)個數的所有組合。 輸入輸入n、r。 輸出按特定順序輸出所有組合。 特定順序
[ACM] POJ 3740 Easy Finding (DFS)
cas oss miss 矩陣 org fin contest std size Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16202 Accepted: 4349
ECNU 3260 袋鼠媽媽找孩子(dfs)
highlight 另一個 () class div names 中一 ble problem 鏈接:http://acm.ecnu.edu.cn/problem/3260/ 題意: 給出一個x,y,k。求從左上角到(x,y)最短路徑不少於k而且最快到達(x,y)的迷宮。(
POJ 2386 Lake Counting(DFS)
poj 所有 tput algorithm space 答案 復雜度 for pre 題意:有一個大小為N×M的園子,雨後積起了水。八連通的積水被認為是連在一起的。求園子裏一共有多少水窪? * * * * W* (八連通指的就是左圖中相對W的*的部分)
HIT1946 希爾伯特分形曲線(dfs)
pic ios put 組成 快的 結束 return ext ati 補第二次期末考的題……發現代碼細節還需要加強啊……這樣一道題一直犯小錯誤。 題目鏈接: http://acm.hit.edu.cn/hoj/problem/view?id=1946 題目描述:
POJ - 3984 - 迷宮問題 (DFS)
define class ac代碼 ng- art clu cstring fff table 迷宮問題 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10936 Accep