洛谷 P1101 單詞方陣

2021-09-16 20:34:12 字數 1199 閱讀 8121

p1101 單詞方陣

題解

使用染色的方法,一條路染下去,注意只往乙個方向染色;

上**

#include

#include

#include

using namespace std;

const string p=

"yizhong"

;int n;

///棋盤大小

///增量陣列,八個方向

int x[8]

=;int y[8]

=;char a[

105]

[105

],b[

105]

[105];

struct node path[10]

;///儲存路徑;

bool check

(int x,

int y)

///越界判斷

void

dfs(

int x,

int y,

int index,

int dir)

///座標, 第幾個字母,從0開始 ,dir方向(只能往乙個地方搜)

return;}

int nx=x+x[dir]

,ny=y+y[dir]

;///下乙個方向的座標

///因為我是先進行位置移動,所以要從最外面的那一層a[0][j],a[i][0],a[n+1][j],a[i][n+1]開始染色if(

check

(nx,ny))}

if(dir==7)

return

;///8個方向都遍歷過了,返回

}int

main()

//dfs(0,1,0); 用來檢測答案一開始**有問題,發現沒有按著同乙個方向搜尋,可以是蛇形的

for(

int i=

1;i<=n;i++

) cout<}return0;

}/*#define regint register int

#define debug printf("[passing [%s] in line %d.]\n", "aa", 1)

#define putline putchar('\n')

#define putsp putchar(' ')*/

洛谷P1101單詞方陣

整體的思路 在矩陣中找到 y 然後對 y 進行八個方向的搜尋 用cmp陣列存 yizhong 在每乙個方向中和cmp進行比較,若存在任意乙個不同,則處理下乙個方向。include includeusing namespace std const int dx 方向陣列 const int dy co...

洛谷 P1101 單詞方陣

題目描述 給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如...

洛谷P1101 單詞方陣

給一n times nn n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 qy...