NOIP2000提高组 单词接龙

题目-洛谷-单词接龙

emmm题目叫我们找出最长的组合。那好吧就写一个深度优先搜索去try1try啊。啊很多人用字符串?那么老实干啥!题目只要求长度!!

    #include 
    #include 
    using namespace std;
    int vis[25]={0},F[25][25]={0};
    char head_ch,str[25][1000];
    int N,maxlen=1;
    inline int is(int u,int v){//这个函数用来判断u和v是否可以相连,如果相连那么重合的长度是多少
        char head=str[v][0];
        int len1=strlen(str[u]);
        int len2=strlen(str[v]);
        int start=len1-1;
        for(int i=len1-1;i>=0;i--){
            start=i;
            if(str[u][i]==head)break;
        }
        if(start==0)return -1;
        if(len1-start>=len2)return -1;
        int j=0;
        for(int i=start;imaxlen)maxlen=top;
        if(step==1){//开头的词
            for(int i=0;i

转载于:https://www.cnblogs.com/Neworld2002/p/8470874.html

你可能感兴趣的:(NOIP2000提高组 单词接龙)