P1019 [NOIP2000 提高组] 单词接龙 刷题笔记

P1019 [NOIP2000 提高组] 单词接龙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路来自 大佬 Chardo 的个人中心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

匹配 :

将 第一个字符串末尾 和第二个字符串第一个开始匹配 

如果 j<i这段走完了 

flag还没被修改 说明 已经存在重叠部分 

可以连接 

反之 如果匹配不成功 

将 第一个字符串的指向往左移动一位 再和第二个串 开头字符看是否匹配

如果i=3,j=3说明有一段长度为3的串匹配成功了 可以返回长度3了

#include<iostream>
#include<string.h>
using namespace std;
string str[20];
int use[20];
int n,ans;
int  clink(string x,string y){
    
    for(int i=1;i<min(x.length() ,y.length());i++ ){
        int flag=1;
        for(int j=0;j<i;j++){
            if(x[x.length() -i+j]!=y[j]){
                flag=0;
            }
        }
        if(flag){
            return i;
        }
        
    }
    return 0;
    
}
void slove(string nowstr ,int nowlen){
    ans=max(ans,nowlen);
    for(int i=0;i<n;i++){
        if(use[i]>=2){
            continue;
        }
        int c=clink(nowstr,str[i]);
        if(c>0){
            use[i]++;
            slove(str[i],nowlen+str[i].length() -c);
            use[i]--;
        }
    }
    
}
int main(){
    
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>str[i];
    }
    cin>>str[n];
    slove(' '+str[n],1);
    cout<<ans;
    
    return 0;

相关推荐

  1. 洛谷P1019:[NOIP2000 提高] 单词

    2024-01-01 03:58:03       57 阅读
  2. 洛谷 P1019 [NOIP2000 提高] 单词

    2024-01-01 03:58:03       40 阅读
  3. [NOIP2000 提高] 单词 C++

    2024-01-01 03:58:03       64 阅读
  4. P1013 [NOIP1998 提高] 进制位

    2024-01-01 03:58:03       64 阅读
  5. 洛谷 P1011 [NOIP1998 提高] 车站

    2024-01-01 03:58:03       41 阅读
  6. P1065 [NOIP2006 提高] 作业调度方案题目

    2024-01-01 03:58:03       49 阅读
  7. P1025 [NOIP2001 提高] 数的划分

    2024-01-01 03:58:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-01 03:58:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-01 03:58:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-01 03:58:03       82 阅读
  4. Python语言-面向对象

    2024-01-01 03:58:03       91 阅读

热门阅读

  1. python的pandas数据分析处理基础学习

    2024-01-01 03:58:03       59 阅读
  2. MySQL中常用的数据类型

    2024-01-01 03:58:03       64 阅读
  3. Android获取电池充电状态是否为快充

    2024-01-01 03:58:03       53 阅读
  4. python统计学-矩估计法、极大似然估计法?

    2024-01-01 03:58:03       58 阅读
  5. Linux: memory: THP相关的一些链接

    2024-01-01 03:58:03       52 阅读
  6. A. Odd One Out

    2024-01-01 03:58:03       57 阅读
  7. sublime汉化教程

    2024-01-01 03:58:03       58 阅读
  8. Redis布隆过滤器

    2024-01-01 03:58:03       51 阅读