zoukankan      html  css  js  c++  java
  • 蓝桥杯 单词接龙

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

    输入的第一行为一个单独的整数n (n<=20)表示单词数,以下n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。你可以假定以此字母开头的“龙”一定存在.

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

    又见证了自己是多菜。也知道是暴搜但是就是感觉自己不会。。。。

    思路:枚举可以连接的字符串,然后搜就完了,打上标记,然后回溯

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int vis[20],n,maxx;
     5 string s[20];
     6 
     7 void dfs(string str,int len) {
     8     maxx=max(maxx,len);
     9     for(int i=0;i<n;i++) {
    10         if(vis[i]<2) {
    11             int lenans=str.size(),lentmp=s[i].size();
    12             for(int k=lenans-1;k>=0;k--) {
    13                 int pos=k;
    14                 for(int j=0;j<lentmp&&pos<lenans;j++) {
    15                     if(str[pos]==s[i][j]) pos++;
    16                     else break;
    17                 }
    18                 if(pos==lenans) {
    19                     vis[i]++;
    20                     dfs(s[i],len+lentmp-(lenans-k));
    21                     vis[i]--;
    22                 }
    23             }
    24         }
    25     }
    26 }
    27 int main() {
    28     while(~scanf("%d",&n)) {
    29         maxx=0;
    30         for(int i=0;i<n;i++) cin>>s[i];
    31         char c;
    32         cin>>c;
    33         for(int i=0;i<n;i++) {
    34             if(s[i][0]==c) {
    35                 vis[i]++;
    36                 dfs(s[i],s[i].size());
    37                 vis[i]--;
    38             }
    39         }
    40         printf("%d
    ",maxx);
    41     }
    42     return 0;
    43 }
    
    
  • 相关阅读:
    使用Python创建TCP代理之工业时代造轮子
    CVE-2020-0796 SMB远程代码执行漏洞(分析、验证及加固)
    Oracle 找到引起账户锁定的IP
    【OGG 故障处理】OGG-01031
    【OGG 故障处理】OGG-01028
    【OGG 故障处理】 丢失归档恢复
    19C imp 导入合并表空间
    CentOS 7 配置VNCServer
    ORA-3136 问题处理
    HugePages概述--翻译自19C文档
  • 原文地址:https://www.cnblogs.com/ACMerszl/p/10390455.html
Copyright © 2011-2022 走看看