time limit: 1000ms
memory limit: 65536kb
submit
statistic
problemdescription
小鑫的女朋友被魔王搶走了!
魔王留給小鑫一張
n*m大的表,上面有各種各樣的顏色,用
a-z這
26個字母來表示。魔王留給他乙個任務,如果小鑫可以在這張表中找出任意乙個長度大於
1的環,並且這個環的顏色是相同的,魔王就把小鑫的女朋友還給他。為了從魔王手中奪回他的女朋友,小鑫請你幫忙,你能幫幫他嗎?
input
多組輸入。
每組的第一行有兩個整數
n,m。代表表的大小。
接下來是由
a-z的一些字母所構成的n行
m列的表。
1<=n,m<=200
output
如果可以救回他的女朋友,輸出
yes,否則輸出
noexampleinput
4 7
abcbbaa
bcbcbcb
aabbcca
acccbbb
10 3
aac
abb
bba
aac
cbc
cca
cbb
cca
ccb
baaexampleoutput
no
yeshint
author
[cpp]view plain
copy
#include
#include
using
namespace
std;
char
tu[202][202];
intv[202][202],bug;
void
dfs(
intx,
inty,
intx1,
inty1,
intn,
intm)
//x1,y1記錄上一次走過的位置
if(y-1>=0&&tu[x][y]==tu[x][y-1])
else
if(v[x][y-1]==0)
} if(y+1<=m&&tu[x][y]==tu[x][y+1])
else
if(v[x][y+1]==0)
} if(x-1>=0&&tu[x][y]==tu[x-1][y])
else
if(v[x-1][y]==0)
} if(x+1<=n&&tu[x][y]==tu[x+1][y])
else
if(v[x+1][y]==0)
dfs(x+1,y,x,y,n,m);
} }
intmain()
for(i=0;i
if(bug==1)
} if(bug==1)
} if(bug==1)
else
} return
0;
}
DFS深度優先搜尋練習
題意 用 代表油田,八個方向互相連線,把相連的油田看作一塊油田,問你最多有多少塊油田。思路 本題其實本質就是乙個迷宮問題,所以我們就可以用dfs或者bfs,本題我們當然採用dfs,用乙個vis標記一下,然後從頭開始遍歷,如果這個點等於 並且vis為0時,開始bfs一次,記錄bfs的次數,bfs的次數...
2016 6 10 深度優先搜尋練習
時間限制 1 s 空間限制 128000 kb 題目等級 gold 在乙個4 4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋,任意一方可以先走,如果某個時刻使得任意一種顏色的棋子形...
廣度優先搜尋 深度優先搜尋
前言 這幾天複習圖論演算法,覺得bfs和dfs挺重要的,而且應用比較多,故記錄一下。廣度優先搜尋 有乙個有向圖如圖a 圖a廣度優先搜尋的策略是 從起始點開始遍歷其鄰接的節點,由此向外不斷擴散。1.假設我們以頂點0為原點進行搜尋,首先確定鄰接0的頂點集合s0 2.然後確定頂點1的集合s1 頂點2沒有鄰...