尐芈乄 2022-03-06 22:47
浏览 66
已结题

P1019 [NOIP2000 提高组] 单词接龙,下面的Python的这个解,洛谷测试全部RE。求指导!

题目背景
注意:本题为上古 NOIP 原题,不保证存在靠谱的做法能通过该数据范围下的所有数据。

题目描述
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙则变为 beastonish,另外相邻的两部分不能存在包含关系,例如 at 和 atide 间不能相连。

输入格式
输入的第一行为一个单独的整数 nn 表示单词数,以下 nn 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。你可以假定以此字母开头的“龙”一定存在。

输出格式
只需输出以此字母开头的最长的“龙”的长度。

输入输出样例
输入 #1
5
at
touch
cheat
choose
tact
a
输出 #1
23

以下为我用python做的代码,但是在洛谷中全部显示RE
在IDLE中将测试点1和题目测试点带入答案是正确的
在牛客上的此题已AC

stack,v,a,max_x=[],[],[],[]
tt={}
def next_s(s):
    n_s=[]
    for i in range(1,len(s)):
        for j in a :
            if j[:i]==s[-i:] and stack.count(j)<a.count(j)*2:
                tt[s+"-"+j]=tt.get(s+"-"+j,i)
                n_s.append(j)
    return n_s

def s_len(li):
    long_1=len(li[0])
    for i in range(1,len(li)):
        long_1+=(len(li[i])-tt[li[i-1]+"-"+li[i]])
    return long_1

def Dfs(s):
    stack.append(s)   
    flag,cnt,maxx=0,0,0
    v.append([])
    while len(stack) > 0:       
        flag = 0
        vertex = stack[-1]      
        nodes = next_s(vertex)  
        for w in nodes:
            if w not in v[cnt]:
                v.append([])    
                v[cnt].append(w)
                cnt+=1
                flag = 1        
                stack.append(w)
                break
        if flag == 0:           
            if s_len(stack)>maxx:
                maxx=s_len(stack)
            cnt-=1
            v.pop(cnt+1)
            stack.pop()
    return maxx


n=int(input())
head=[]
for i in range(n):
    a.append(input())
ch=input()
for i in a:
    if i[0]==ch:
        head.append(i)
for i in head:
    max_x.append(Dfs(i))
print(max(max_x))
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月14日
    • 修改了问题 3月7日
    • 修改了问题 3月7日
    • 创建了问题 3月6日

    悬赏问题

    • ¥30 关于#微信#的问题:微信实名不绑卡 可以实现吗 有没有专家 可以解决
    • ¥15 (标签-考研|关键词-set)
    • ¥15 求修改代码,图书管理系统
    • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
    • ¥15 传感网应用开发单片机实训
    • ¥15 Delphi 关于sAlphaImageList使用问题
    • ¥15 寻找将CAJ格式文档转txt文本的方案
    • ¥15 shein测试开发会问些啥我是写java的
    • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
    • ¥15 opnet仿真网络协议遇到问题