30:字符环

30:字符环
总时间限制: 1000ms 内存限制: 65536kB
描述
有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。
例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;
字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环;
“UVKLMA”是这两个环的一个连续公共字符串。

输入
一行,包含两个字符串,分别对应一个字符环。这两个字符串之间用单个空格分开。
字符串长度不超过255,且不包含空格等空白符。
输出
输出一个整数,表示这两个字符环上最长公共字符串的长度。
样例输入
ABCEFAGADEGKABUVKLM MADJKLUVKL
样例输出
6

我想不出什么好的方法,直接爆力枚举吧

 1 #include <stdio.h>
 2 #include <string.h>
 3
 4 int main()
 5 {
 6     char a[1000],A[1000],b[1000],B[1000];
 7     int lenA,lenB,minLen,temp=0;
 8     int i,j;
 9     int ans=0;
10
11     scanf("%s%s",a,b);
12     lenA=strlen(a);
13     lenB=strlen(b);
14     minLen=(lenA<lenB?lenA:lenB);
15     strcpy(A,a);
16     strcpy(B,b);
17     strcat(A,a);//环
18     strcat(B,b);
19
20     for(i=0;i<lenA;i++)
21     {
22         for(j=0;j<lenB;j++)
23         {
24             while(A[i+temp]==B[j+temp]&&temp<=minLen) temp++;
25             ans=(temp>ans?temp:ans);
26             temp=0;
27         }
28     }
29     minLen=(lenA<lenB?lenA:lenB);
30     ans=(minLen<ans?minLen:ans);
31     printf("%d\n",ans);
32     return 0;
33 }
时间: 2024-10-25 08:08:53

30:字符环的相关文章

AC日记——字符环 openjudge 1.7 30

30:字符环 总时间限制:  1000ms 内存限制:  65536kB 描述 有两个由字符构成的环.请写一个程序,计算这两个字符环上最长连续公共字符串的长度.例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环:字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环:“UVKLMA”是这两个环的一个连续公共字符串. 输入 一行,包含两个字符串,分别对应一个字符环.这两个字符串之间用单个空格分开.字符串长度不超过255,且不包含空格等空白符. 输出 输出一个整

字符环

总时间限制:  1000ms 内存限制:  65536kB 描述 有两个由字符构成的环.请写一个程序,计算这两个字符环上最长连续公共字符串的长度.例如,字符串"ABCEFAGADEGKABUVKLM"的首尾连在一起,构成一个环:字符串"MADJKLUVKL"的首尾连在一起,构成一个另一个环:"UVKLMA"是这两个环的一个连续公共字符串. 输入 一行,包含两个字符串,分别对应一个字符环.这两个字符串之间用单个空格分开.字符串长度不超过255,且不

字符环(openjudge 2755)

字符环 总时间限制: 1000ms   内存限制: 65536kB 描述 有两个由字符构成的环.请写一个程序,计算这两个字符环上最长连续公共字符串的长度.例如,字符串"ABCEFAGADEGKABUVKLM"的首尾连在一起,构成一个环:字符串"MADJKLUVKL"的首尾连在一起,构成一个另一个环:"UVKLMA"是这两个环的一个连续公共字符串. 输入 一行,包含两个字符串,分别对应一个字符环.这两个字符串之间用单个空格分开.字符串长度不超过25

ECNUOJ 2147 字符环

字符环 Time Limit:1000MS Memory Limit:65536KBTotal Submit:562 Accepted:146 Description  字符环:就是将给定的一个字符串,首尾相连而形成的一个环.现在我们来玩一个有趣的两人游戏:每次甲给出两个字符串A和B,然后让乙判断字符串B是否能够被字符环A所包含.例如,A = aabcd , B = cdaa , 那么B可以包含在A经过旋转后的字符串A’ = cdaab中. Input  输入数据的第一行,一个正整数N,表示测试

12.30 字符集和字符编码(Charset &amp; Encoding)(转载)

——每个软件开发人员应该无条件掌握的知识! ——Unicode伟大的创想! 相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"б?ЯАзЪСЯ"."?????????"?还记得HTTP中的Accept-Charset.Accept-Encoding.Accept-Language.Content-Encoding.Content-Language等消息头字段?这些就是接下来我们要探讨的. 目录: 1.基础知识 2.常用字符集和字符编码 2.1. ASCII字符

字符串c++字符环

今天这个题目及其难.还好靠身边的丁冠宇大佬帮忙,最后还是把这道题给搞出来了!!! 这里给大家分享一下.希望能帮助到各位. #include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int x, y, len, len1, len2, limit, ans=0; string s1, s2; cin >> s1 >> s

NOI 1.7编程基础之字符串(35题)

01:统计数字字符个数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 输出为1行,输出字符串里面数字字符的个数. 样例输入 Peking University is set up at 1898. 样例输出 4 来源 习题(7-1) 医学部 2010 期末试题 樊波 1 #include<cstdio> 2 #include<cstring> 3 ch

整理小朋友在noi.openjudge上的作业(1)

NOI(题库正在建设中,做题纪录有可能会被删除,请注意) 第一章的统计放前面 1 编程基础之输入输出 10 0 0% 最基础有空补刷 2 编程基础之变量定义.赋值及转换 10 0 0% 最基础有空补刷 3 编程基础之算术表达式与顺序执行 20 0 0% 最基础有空补刷 4 编程基础之逻辑表达式与条件分支 21 0 0% 最基础有空补刷 5 编程基础之循环控制 45 10 22% 最基础有空补刷 6 编程基础之一维数组 15 5 33% 最基础有空补刷 7 编程基础之字符串 35 0 0% 有必要

字符数组的基本操作

#include <stdio.h>#include <string.h> void main(){ /**   char ch[]="china\nbeijin";   char ca='a'; char c[12];   gets(c); puts(ch);   puts(c);   */ char ch1[30]={"china beijing"};    char ch2[]={"CaoYangQu"};    c