題目描述
在乙個與世隔絕的島嶼上,有乙個有趣的現象:同乙個家族的人家總是相鄰的(這裡的相鄰是指東南西北四個方向),不同的家族之間總會有河流或是山丘隔絕,但同乙個家族的人不一定有相同姓氏。現在給你島上的地圖,求出島上有多少個不同的家族。島上的地圖有n 行,每行有若干列,每個格仔中要麼是空格表示大海,要麼是『*』表示河流或山丘,要麼是小寫字母,表示一戶人家的姓氏。
輸入
第一行是個數字 n,表示下面資訊的行數,接下來是 n 行字元,每行由小寫字母和*號組成,有些行的最前面也可能包含若干連續的空格,表示這些區域是大海,每一行最多不超過 200 個字元。
輸出
乙個數字,表示家族數。
樣例輸入
樣例輸出
3
資料範圍限制10%的資料, n<=1
30%的資料, n<=10
100% 的資料, n<=100 每一行最多不超過 200 個字元
這道題是一道bfs的模板,沒想到在某谷上還是道綠題,驚悚!
唯一要考慮一下如何去輸入每一行的字元。我們可以用getline();這個函式來輸入一整行。
下面是這道題的幾個坑坑一:
坑二:在比賽中,如果記憶體限制允許,盡量把陣列開大!!
#include
#include
#include
#include
#include
#include
#include
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);
using
namespace std;
const
int max=
2147483647
;const
int n=
1e6;
const
int dx[5]
=;const
int dy[5]
=;string a;
int n,map[
510]
[510
],ans,que[
250010][
2],my[
510]
;void
input()
}bool
check
(int x,
int y)
void
bfs(
int sx,
int sy)}}
intmain()
普及組模擬賽 家族
題目描述 在乙個與世隔絕的島嶼上,有乙個有趣的現象 同乙個家族的人家總是相鄰的 這裡的相鄰是指東南西北四個方向 不同的家族之間總會有河流或是山丘隔絕,但同乙個家族的人不一定有相同姓氏。現在給你島上的地圖,求出島上有多少個不同的家族。島上的地圖有n 行,每行有若干列,每個格仔中要麼是 空格表示大海,要...
2020 10 05 普及組 模擬賽C組總結
總結這次考試沒發揮好,第二題沒有拿滿分,下次要繼續努力 t1 superpow 10 題目大意 已知a b 超級冪 代表 b個a的冪,求n對數的超級冪之積的個位數。正確思路 當打表後可以發現 b是沒用的,如果b大於2,b就等於2,答案和原來的是一樣的。所以處理一下跑個快速冪就行了。至於為什麼拿10分...
2020 11 14 普及組 模擬賽C組總結
這是乙個好東西 作者主頁 t1 操作 題目大意 給你乙個數列,讓你執行一些操作後輸出。這一題找規律即可。t2 遊戲 題目大意 判斷每個人被攻擊和攻擊的情況是否符合題目要求。思路 找規律。因為中間不可能出現三個一樣的攻擊操作,所以只需要判斷有沒有大於3的連續操作,直接輸出個數即可。提示 t3 到達 題...