当前位置: 首页 > news >正文

淮安做网站就找卓越凯欣云虚服务器网站建设

淮安做网站就找卓越凯欣,云虚服务器网站建设,wordpress教程视频教程,重生做二次元网站题目 Cpp 【问题描述】 字符环(来源:NOI题库)。有两个由字符构成的环,请写一个程序,计算这两个字符环上最长公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环&a…

题目

Cpp
【问题描述】
字符环(来源:NOI题库)。有两个由字符构成的环,请写一个程序,计算这两个字符环上最长公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;字符串”MADJKLUVKL”的首尾连在一起,构成另一个环;“UVKLMA”是这两个环的一个公共字符串。
【输入格式】
有两行,每行一个不包含空格的字符串,每行的字符串首尾相连即为一个环。
【输出格式】
一行,输出一个整数,表示这两个字符环上最长公共字符串的长度。
【输入样例】
ABCEFAGADEGKABUVKLM MADJKLUVKL
【输出样例】
6
【数据范围】
字符串长度不超过255


分析

就是找两个字符串的最大的连续交集。只不过字符串首尾相连


思路

其实要考虑的只不过是最后一位的下一位是第一位而已。这也很简单,直接将该字符串复制一份接到它后面即可。然后就可以循环找子集了。


代码

  1. 框架

    int main(){return 0;
    }
    

  2. 输入字符串

    #include<cstdio>	//scanf()
    char a[256], b[256]; 
    int main(){scanf("%s %s", &a, &b);return 0;
    }
    

  3. 拼接字符串
    注意,不能直接用strcat()函数拼接!

    #include<cstdio>	//scanf()
    #include<cstring>	//strcpy(), strcat(), memset()
    char a[256], b[256], c[256];
    int main(){scanf("%s %s", &a, &b);strcpy(c, a);strcat(a, c);memset(c, 0, sizeof(c));strcpy(c, b);strcat(b, c);return 0;
    }
    

  4. 遍历字符串a的子集(遍历头和尾,并同时求出子集)。详见该文张2.5版解题思路

    #include<cstdio>	//scanf()
    #include<cstring>	//strcpy(), strcat(), memset(), strlen()
    char a[256], b[256], c[256];
    int l;
    int main(){scanf("%s %s", &a, &b);strcpy(c, a);strcat(a, c);memset(c, 0, sizeof(c));strcpy(c, b);strcat(b, c);l=strlen(a);for(int i=0; i<l; i++){memset(c, 0, sizeof(c));for(int j=0; j<l-i; j++){c[j]=a[i+j];}}return 0;
    }
    

  5. 已经求出了一个字符串的子集,现在直接判断该子集是否同时存在于另一个字符串中。如果存在,就将该子集的长度比较存入变量中。

    #include<cstdio>	//scanf()
    #include<cstring>	//strcpy(), strcat(), memset(), strlen(), strstr()
    #include<cmath>		//fmax()
    char a[256], b[256], c[256];
    int l, ans;
    int main(){scanf("%s %s", &a, &b);strcpy(c, a);strcat(a, c);memset(c, 0, sizeof(c));strcpy(c, b);strcat(b, c);l=strlen(a);for(int i=0; i<l; i++){memset(c, 0, sizeof(c));for(int j=0; j<l-i; j++){c[j]=a[i+j];if(strstr(b, c)!=NULL){ans=fmax(ans, j+1);}}}return 0;
    }
    

  6. 最后,输出变量即可。

    #include<cstdio>	//scanf(), printf()
    #include<cstring>	//strcpy(), strcat(), memset(), strlen(), strstr()
    #include<cmath>		//fmax()
    char a[256], b[256], c[256];
    int l, ans;
    int main(){scanf("%s %s", &a, &b);strcpy(c, a);strcat(a, c);memset(c, 0, sizeof(c));strcpy(c, b);strcat(b, c);l=strlen(a);for(int i=0; i<l; i++){memset(c, 0, sizeof(c));for(int j=0; j<l-i; j++){c[j]=a[i+j];if(strstr(b, c)!=NULL){ans=fmax(ans, j+1);}}}printf("%d", ans);return 0;
    }
    


答案

#include<cstdio>
#include<cstring>
#include<cmath>
char a[256], b[256], c[256];
int l, ans;
int main(){scanf("%s %s", &a, &b);strcpy(c, a);strcat(a, c);memset(c, 0, sizeof(c));strcpy(c, b);strcat(b, c);l=strlen(a);for(int i=0; i<l; i++){memset(c, 0, sizeof(c));for(int j=0; j<l-i; j++){c[j]=a[i+j];if(strstr(b, c)!=NULL){ans=fmax(ans, j+1);}}}printf("%d", ans);return 0;
}

http://www.yayakq.cn/news/121771/

相关文章:

  • 手机做点击赚钱的网站wordpress为什么加载速度很慢
  • 厦门模板建站系统网站建设规划方案论文
  • 贵州企业网站建设策划windows7优化大师下载
  • 网站怎么做运营推广建筑工程资质合作
  • 电脑上如何做课程视频网站禁止wordpress获取隐私
  • 娄底建设企业网站凡科建站网站
  • 如何判断网站好坏asp网站
  • 公司网站维护建设费入什么科目注册域名com和cn
  • 记的网站域名宁夏吴忠网站建设
  • 宁波网站排名优化报价asp.net 网站开发架构
  • 石柱网站开发网站模版 源码之家
  • 网站设计 网络推广的服务内容国内好用的搜索引擎
  • 音乐网站建设报告北京市朝阳区网站开发公司
  • php+mysql网站开发...论坛申请网站备案前置审批
  • 电子商务网站建设第三章答案深圳关键词
  • 手机网站信任从哪里设置大连百度网站优化
  • 凡科网做的网站保存后就上传了吗东莞网络营销信息
  • 网站建设关键要做好哪些工作编程软件自学网
  • 海澜之家网站建设水平wordpress 分享可见
  • 会员制网站搭建wordpress电子上网站建设与维护
  • 网站建设logo要什么格式完整的品牌推广方案
  • vps做网站空间网络营销策划书ppt
  • 现在建网站可以拖拉式的吗优秀网站设计分析
  • 成品网站w灬源码伊甸3m8u免费创建企业网站
  • 网站首页快照应该怎么网络工程师自学网站
  • 营口网站建设哪家好学校网站建设状况
  • 哈尔滨建站模板源码网站开发与设计结课论文
  • 汶上县建设局官方网站百斯特网站建设
  • 如何创建自己的博客网站成全视频免费观看在线看动漫
  • 商品定制平台网站天元建设集团有限公司济南中标项目