資訊學奧賽一本通 1216 紅與黑 evd

2021-10-24 19:46:25 字數 815 閱讀 1368

【題目描述】

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

【輸入】

包括多組資料。每組資料的第一行是兩個整數w和h,分別表示x方向和y方向瓷磚的數量。w和h都不超過20。在接下來的h行中,每行包括w個字元。每個字元表示一塊瓷磚的顏色,規則如下:

1)『.』:黑色的瓷磚;

2)『#』:白色的瓷磚;

3)『@』:黑色的瓷磚,並且你站在這塊瓷磚上。該字元在每組資料中唯一出現一次。

當在一行中讀入的是兩個零時,表示輸入結束。

【輸出】

對每組資料,分別輸出一行,顯示你從初始位置出發能到達的瓷磚數(記數時包括初始位置的瓷磚)。

【輸入樣例】

6 9…#.…#…

…………

#@…#

.#…#.

0 0【輸出樣例】

45【心得】本題實質是計數,無需儲存搜尋狀態,找到符合條件的格仔,計數,同時標記保證再次訪問時不重複計數。

【ac**】

#include#include#includeusing namespace std;

int w,h,dir[4][2]=,,,},cnt,vis[25][25];

char s[25][25];

void dfs(int x,int y)

}} dfs(x,y);

cout<} return 0;

}

資訊學奧賽一本通C 語言 1216 紅與黑

題目描述 有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入 包括多個資料集合。每個資料集合的第一行是兩個整數w和h,分別表示x方向和y方向瓷磚的數量。w和h都不超過20。在接下來的...

資訊學奧賽一本通 紅與黑

演算法標籤 dfs,flood fill 題目描述 有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰 上下左右四個方向 的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入格式 輸入包括多個資料集合。每個資料集合的第一行是兩個整數 ...

資訊學奧賽一本通 小球(drop)

許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個節點的布林值。最初,所有的節點都是false,當訪問到乙個節點時...