演算法訓練 紅與黑

2021-08-01 03:56:06 字數 1086 閱讀 1006

問題描述:

有一間長方形的房子,地上鋪了紅色、黑色兩種顏色的正方形瓷磚,你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請你寫出乙個程式,計算你總共能達到多少塊黑色瓷磚。

輸入資料:

包括多個資料集合。每個資料集合的第一行是兩個整數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 實現 紅與黑

小明站在乙個矩形房間裡,這個房間的地面鋪滿了地磚,每塊地磚的顏色或是紅色或是黑色。小明一開始站在一塊黑色地磚上,並且小明從一塊地磚可以向上下左右四個方向移動到其他的地磚上,但是他不能移動到紅色地磚上,只能移動到黑色地磚上。請你程式設計計算小明可以走到的黑色地磚最多有多少塊。輸入 輸入包含多組測試資料...