問題描述:
有一間長方形的房子,地上鋪了紅色、黑色兩種顏色的正方形瓷磚,你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請你寫出乙個程式,計算你總共能達到多少塊黑色瓷磚。
輸入資料:
包括多個資料集合。每個資料集合的第一行是兩個整數w和h,分別代表x方向和y方向瓷磚的數量。w和h都不超過20.接下來的h行中,每行包括w各字元。每個字元表示一塊瓷磚的顏色,規則如下:
『$』:黑色的瓷磚
『#』:白色的瓷磚
『@』:黑色的瓷磚,並且你站在這塊瓷磚上。該字元在每個資料集上唯一出現一次。
當在一行讀出的兩個零時,表示輸入結束。
輸出要求:
對每個資料集合,分別輸出一行,顯示你從初始位置出發能到達的瓷磚數(計數時包括初始位置時的瓷磚)。
輸入樣例:
6 9
$$
$$#$
$$$$
$#$$
$$$$
$$$$
$$$$
$$$$
$$$$
$$$$
$$$$
#@$$$#
$#$$
#$
0 0
輸出樣例:
45
#include
#include
int k;
char ditu[20][20]=;
using
namespace
std;
void ks(int i,int j,int w,int h)
if(j>0&&ditu[i][j-1]=='$')
if(i<(h-1)&&ditu[i+1][j]=='$')
if(i>0&&ditu[i-1][j]=='$')
return ;
}int main()
for(i=0;iscanf("%s",ditu[i]);//輸入地圖
}for(i=0;ifor(j=0;jif(ditu[i][j]=='@')}}
k++;
} for(i=0;icout
0;}
dfs入門 紅與黑
時間限制 1 sec 記憶體限制 32 mb 提交 10 解決 8 提交 狀態 討論版 小明站在乙個矩形房間裡,這個房間的地面鋪滿了地磚,每塊地磚的顏色或是紅色或是黑色。小明一開始站在一塊黑色地磚上,並且小明從一塊地磚可以向上下左右四個方向移動到其他的地磚上,但是他不能移動到紅色地磚上,只能移動到黑...
搜尋 1216 紅與黑
題目描述 有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入 包括多個資料集合。每個資料集合的第一行是兩個整數w和h,分別表示x方向和y方向瓷磚的數量。w和h都不超過20。在接下來的...
C 實現 紅與黑
小明站在乙個矩形房間裡,這個房間的地面鋪滿了地磚,每塊地磚的顏色或是紅色或是黑色。小明一開始站在一塊黑色地磚上,並且小明從一塊地磚可以向上下左右四個方向移動到其他的地磚上,但是他不能移動到紅色地磚上,只能移動到黑色地磚上。請你程式設計計算小明可以走到的黑色地磚最多有多少塊。輸入 輸入包含多組測試資料...