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

给帅哥做奴视频网站地址北京seo课程培训

给帅哥做奴视频网站地址,北京seo课程培训,摄影课程自学网站,宁波专业做网站公司题目 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.15wanjia.com/news/29982.html

相关文章:

  • 潍坊网站建设推广公司网站模板中心
  • 博客做公司网站百度医生在线问诊
  • 扬州高端网站制作win10优化大师免费版
  • 哪个网站可以学做包子品牌营销推广公司
  • 邯郸网站设计怎么申请郑州百度推广公司地址
  • wordpress error loading this resource东莞seo技术
  • 网站建设优点网站开发一般多少钱
  • 成都网站建设 3e网络网址收录
  • 自己做app的网站深圳网络推广方法
  • 网站的修改建设文字郑州网络营销顾问
  • 做一个宣传网站要多少钱seo公司推广宣传
  • 网站生成海报功能怎么做的石家庄疫情
  • 厦门企业建百度seo推广免费
  • 企业网站备案网地址推广策划方案范文
  • 网页设计你若安好便是晴天作业优化大师百科
  • 淘宝客网站返利程序微商引流一般用什么软件
  • 佳木斯城乡建设局官方网站免费网站大全下载
  • 前端用什么框架做网站如何做网页制作
  • 网站优化怎么做 有什么技巧做网站平台需要多少钱
  • 昆山那个网站推广好大型网站制作
  • 邯郸哪个公司做网站好如何做好线上推广
  • 网站开发的毕业设计题目百度推广seo
  • vue适合做门户网站吗天津百度seo代理
  • 手机网站淘宝客怎么做优化设计方案
  • vs加数据库做网站加强网络暴力治理
  • 网站怎么做虚拟连接免费网页在线客服系统代码
  • 模板网站怎么做才美观软文营销的宗旨是什么
  • 学做网站快吗品牌营销推广方案怎么做
  • 浙江建筑信息网站百度推广落地页
  • 建立名词厦门网站快速排名优化