這是本蒟蒻的第一篇題解
不喜勿噴
給定乙個矩陣,有上下左右斜向共八個方向,要求找出所有的從每乙個「y」出發,往某個方向遍歷,直到連續地遍歷完「yizhong」每個字母的路徑。
簡單的搜尋題。
**如下:
1 #include2using
namespace
std;
3char a[105][105],b[105][105],yz[10]=;
4intn;5
int dx[12]=;//
表示八個方向
6int dy[12]=;
7int dfs(int x,int y,int num,int
direct)
16if(!flag&&a[x][y]=='
y') b[x][y]='
c'; //
因為這個函式是從y的下乙個字母開始的,所以特判 y
17return
flag;18}
19int
main()
26for(int i=1;i<=n;i++)
27for(int j=1;j<=n;j++)
28if(a[i][j]=='
y')//
從 y開始dfs
29for(int k=1;k<=8;k++)//
八個方向,都是單調方向,所以不在dfs()中迴圈
30 dfs(i,j,1,k);//
k表示方向,1表示當前尋找的是"yizhong"中的第幾個字母
31for(int i=1;i<=n;i++)
37return0;
38 }
洛谷P1101 單詞方陣 深搜
題目描述 給一n n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 輸出 8 qyizhon...
洛谷P1101單詞方陣
整體的思路 在矩陣中找到 y 然後對 y 進行八個方向的搜尋 用cmp陣列存 yizhong 在每乙個方向中和cmp進行比較,若存在任意乙個不同,則處理下乙個方向。include includeusing namespace std const int dx 方向陣列 const int dy co...
洛谷 P1101 單詞方陣
題目描述 給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如...