hdu 1238 Substrings
来源:互联网 发布:天敏网络机顶盒root 编辑:程序博客网 时间:2024/05/16 18:11
Problem Description
You are given a number of case-sensitive strings of alphabetic characters, find the largest string X, such that either X, or its inverse can be found as a substring of any of the given strings.
Input
The first line of the input file contains a single integer t (1 <= t <= 10), the number of test cases, followed by the input data for each test case. The first line of each test case contains a single integer n (1 <= n <= 100), the number of given strings, followed by n lines, each representing one string of minimum length 1 and maximum length 100. There is no extra white space before and after a string.
Output
There should be one line per test case containing the length of the largest string found.
Sample Input
23ABCDBCDFFBRCD2roseorchid
Sample Output
22----------------------------------------------------------------------------------第一道搜索题枚举长度最短的字符串的所有字串,然后与其它字符串比较一旦比较失败,就跳出;接着循环,枚举下一个,#include<stdio.h>#include<string.h>#include<stdlib.h>char str[110][110];int main(){ int t,n,i,len,j,flag; int min,max,p,x,y,k,q; char a[102],b[102]; char c[102]; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(str,0,sizeof(str)); min =110; for(i=0;i<n;i++) { scanf("%s",str[i]); len = strlen(str[i]); if(len<min) { min = len; p = i; } } max=0; for(i=0;i<min;i++) { for(j=1;j<=min-i;j++)// 此循环,控制以某一个字母开头的所有字串,下面的查找循环中,如果,没有找到以此字母开头的字串,就跳出;//枚举以下一个字母开头的所有字串 { strncpy(a,str[p]+i,j);//枚举str[p]的字串; a[j]='\0'; //printf("a:%s\n",a); //b = strrev(a); x=0;q=0; for(k=j-1;k>=0;k--) b[x++]=a[k]; b[x]='\0'; //printf("b:%s\n",b); flag=1; for(y=0;y<n;y++) //这里是与其它字符串比较,一旦查找失败,就跳出 { if(y!=p) { if(strstr(str[y],a)==NULL&&strstr(str[y],b)==NULL) { flag=0 ;break; } } } if(!flag)// 以某一个字母开头的第一个子串查找失败,那么就没有必要查找以该字母开头的其它子串,所以这里跳出第二个for循环 break; if(max<j)//这里负责找到长度最大的字串 { max=j; //for(x=0;x<j;x++) // 加上这几句,就能求出 最长公共字串; // c[q++] = a[x]; //c[x]='\0'; } } } printf("%d\n",max); } return 0;}
0 0
- hdu-1238 Substrings
- HDU 1238 Substrings
- HDU 1238 ( Substrings )
- Hdu 1238 Substrings
- hdu 1238 Substrings
- hdu 1238 Substrings
- HDU 1238 Substrings
- hdu 1238 Substrings
- HDU 1238 Substrings
- hdu 1238 Substrings(KMP)
- hdu 1238 Substrings
- hdu 1238 Substrings
- hdu 1238 Substrings
- HDU 1238 Substrings
- HDU 1238 Substrings
- HDU 1238 Substrings
- HDU 1238 Substrings
- hdu 1238 Substrings
- 2014多校3,hdu4888,hdu4893题解
- 打赌:你的中小企业还能继续存活5年吗?
- linux下实现生产者消费者问题
- 联想yoga win8升级到win8.1失败
- hdu4912 贪心+lca
- hdu 1238 Substrings
- 将mysql服务设置为linux开机自动启动
- 论如何正确的作死一家公司
- android自定义开关、图片按钮
- java异常处理机制详解
- C 语言泛型数组实现
- java 关于excel下载 struts2 servlet springmvc
- ReportStudio入门教程(七十九) - 限制到当前日期
- 谈谈4G