POJ單詞接龍

2021-10-03 18:53:24 字數 764 閱讀 9337

思路:求出每個單詞和所有單詞的重疊部分的長度(有多個重疊部分的取最短,這樣才能使龍最長,但題目中並沒有明說這一點),遍歷所有單詞選好龍頭,開始dfs。每個單詞就是乙個方向。注意一些特殊情況,比如有包含關係時不能訪問,每個單詞和自己的重疊長度不能是自己的長度。

#include

#include

//每個單詞多個可以走的方向,可以被訪問兩次,到頭時計算路徑長度,dfs。

int n,max=0;

char words[20]

[25],c;

int ol[20]

[20];

//每個單詞和所有單詞的重疊長度

int visit[20]

=;//每個單詞可以被訪問兩遍

int length[20]

;//每個單詞的長度

void

initial()

if(flag==0)

}}else

for(k=

0; k(flag==0)

} ol[i]

[j]=l;}}

}void

dfs(

int now,

int l)}}

intmain

(int argc,

char

** ar**)

printf

("%d"

,max)

;return0;

}

1018 單詞接龍

題目描述 description 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如beast和astonish,如果接成一條龍則變為beast...

1220 單詞接龍

題目 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部分...

zufeoj 單詞接龍

單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部分不能存...