P1019 單詞接龍 字符串回溯
阿新 • • 發佈:2019-03-14
表示 bottom 包含關系 tac 輸入輸出 字母 兩個 oos copy
題目描述
單詞接龍是一個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定一個開頭的字母,要求出以這個字母開頭的最長的“龍”(每個單詞都最多在“龍”中出現兩次),在兩個單詞相連時,其重合部分合為一部分,例如 beastbeast和astonishastonish,如果接成一條龍則變為beastonishbeastonish,另外相鄰的兩部分不能存在包含關系,例如atat 和 atideatide 間不能相連。
輸入輸出格式
輸入格式:
輸入的第一行為一個單獨的整數nn (n \le 20n≤20)表示單詞數,以下nn 行每行有一個單詞,輸入的最後一行為一個單個字符,表示“龍”開頭的字母。你可以假定以此字母開頭的“龍”一定存在.
輸出格式:
只需輸出以此字母開頭的最長的“龍”的長度
輸入輸出樣例
輸入樣例#1: 復制5 at touch cheat choose tact a輸出樣例#1: 復制23
又是單詞搜索 每次單詞搜索就要進行很麻煩的預處理
設置 yc[i][j]為 第i個單詞和第j個單詞最大重合字母數量
然後進行回溯 註意回溯的話不僅標記數組要減一 而且答案也要撿減回去
P1019 單詞接龍 字符串回溯