描述
ycb是公認的冰清玉潔,人稱錦州剛猛好男兒,凌河區一把刀。
一天ycb來到了乙個n × m迷宮,每乙個單位或者是空地("."),或者是牆("*")。
ycb當時就不樂意了,畢竟做為錦州剛猛好男兒,怎能被區區幾個牆給擋住?
於是ycb選擇在乙個單位放置乙個東北大炸彈(如果炸彈在(x, y),那麼第x行和第y列的牆都會被炸掉),而且這個炸彈可以放在任何乙個單位,無論是空地(".")還是牆("*")。
但是ycb已經被憤怒沖昏了頭腦,失去了最寶貴的智力。
現在ycb想知道,是否存在乙個點,將東北大炸彈放在這之後,能使得迷宮裡面所有的單位都為空地。
聰明的你快來幫幫ycb吧,相信你一定做不出來。
輸入單組輸入
第一行是n 和 m (1 ≤ n, m ≤ 1000) — 迷宮的行數和列數。
接下來n行m列的迷宮。"."表示空地, "*"表示牆。
輸出輸出是否存在乙個點,使得將東北大炸彈放置在這,能使得迷宮裡面所有的單位都為空地。
如果有,輸出"yes",否則輸出"no"。
樣例輸入1
複製
3 4.*..
....
.*..
樣例輸出1
yes
樣例輸入2
複製
3 3..*.*.
*..
樣例輸出2
no
樣例輸入3
複製
6 5..*..
..*..
*****
..*..
..*..
..*..
樣例輸出3
yes需要記錄橫豎的每行包含的炸彈數再相加 這樣才不會超時 如果圖里所有最大數為炸彈數 就能全部消滅 這個也是在我輸出個數圖的時候才發現的 個數圖每個數代表此點所在的橫豎共幾個炸彈 記得如果當前點有炸彈 會重複算 需要-1
#include #include #include #include #include #include #include #include #include using namespace std;
int a[1001][1001];
int x[1001];
int y[1001];
int step[1001][1001];
int main()
for(int i=1;i<=n;i++)
}for(int i=1;i<=n;i++)
}if(max1==num)
printf("yes");
else
printf("no");
}
qduoj 統計人數
描述 hs想要統計鎮上總共有多少人,但是他並不想乙個乙個的去數有多少個人,他想了乙個其他的方法,他在鎮上找了n個人,然後問每乙個人 你知道 除你之外 鎮上和你姓氏相同的人有多少個嗎?現在hs想要知道,鎮上最少有多少人?我們保證hs不會問同乙個人兩次。輸入第一行乙個正整數t t 100 表示t組測試樣...
qduoj 交通規劃
描述調查某城鎮交通狀況,得到城鎮道路統計表,表中列出了每條道路直接連通的城鎮。要使全省任何兩個城鎮間都可以實現交通 但不一定有直接的道路相連,只要互相間接通過道路可達即可 問最少還需要建設多少條道路?輸入測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是城鎮數目n 1000 和道路...
qduoj 生化危機
1 2 利用鄰接表儲存圖,考慮到城市個數比較多所以使用動態陣列,注意陣列的初始化和各項資料的初始化 include include include includeusing namespace std const int m 1e4 5 struct node queueq int cnt m 儲存...