思路:

1.找出n个字符串中最短的字符串Str[N]

2.从长到短找Str[N]的子子串 subStr[N],以及subStr[N]的反转字符串strrev(subStr[N]);(从长到短是做剪枝处理)

3.用strstr()函数遍历所有的字符串,看是否含有此子子串subStr[N]或strrev(subStr[N]);只要有一个字符串不包含subStr[N]或strrev(subStr[N])就放弃这个子串,尝试下一个;

4.找到第一个满足要求的就输出strlen(subStr[N])或者strlen(strrev(subStr[N]));  这里可以用string.h头问件中的一个函数strncpy(str1, str2, n);功能:将字符串2中的最多n个字符复制到字符数组1中;

这里可以直接返回n;

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<queue>
#include<stack>
#include<math.h>
#include<vector>
#include<stdlib.h>
using namespace std;
#define INF 0x3f3f3f3f
#define N 110
struct MAZE
{
char str[N];
int len;
} maze[N]; bool cmp(MAZE x, MAZE y)
{
return x.len<y.len;
} int solve(int n);
int Find(char str[], int n);
int main()
{
int t, n; scanf("%d", &t);
while(t--)
{
memset(maze, 0, sizeof(maze));
scanf("%d", &n);
for(int i=0; i<n; i++)
{
scanf("%s", maze[i].str);
maze[i].len=strlen(maze[i].str);
}
sort(maze, maze+n,cmp);
int ans=solve(n);
printf("%d\n", ans);
}
return 0;
} int solve(int n)
{
char Str[N];
for(int i=maze[0].len; i>0; i--)
{
strcpy(Str, maze[0].str);
strcat(Str, maze[0].str);
for(int j=0; j<maze[0].len; j++)
{
char subStr[N];
memset(subStr, 0, sizeof(subStr));//必须初始化
strncpy(subStr, Str+j, i); if(Find(subStr, n))
return i;
if(Find(strrev(subStr), n))
return i;
}
}
return 0;
} int Find(char s[], int n)
{
for(int i=1; i<n; i++)
{
if(!(strstr(maze[i].str, s)))
return 0;
}
return 1;
}

  

HDU 1238 Substing的更多相关文章

  1. (KMP 字符串处理)Substrings -- hdu -- 1238

    http://acm.hdu.edu.cn/showproblem.php?pid=1238 Substrings Time Limit:1000MS     Memory Limit:32768KB ...

  2. Substrings - HDU 1238(最大共同子串)

    题目大意:给你N个串,求出来他们的最大公共子串的长度(子串反过来也算他们的子串).   分析:很久以前就做过这道题,当时是用的strstr做的,不过相同的都是枚举了子串......还是很暴力,希望下次 ...

  3. hdu 1238 Substrings(kmp+暴力枚举)

    Problem Description You are given a number of case-sensitive strings of alphabetic characters, find ...

  4. HDU 1238

    好吧,这题直接搜索就可以了,不过要按照长度最短的来搜,很容易想得到. 记得ACM比赛上有这道题,呃..不过,直接搜..呵呵了,真不敢想. #include <iostream> #incl ...

  5. hdu 2328 Corporate Identity(kmp)

    Problem Description Beside other services, ACM helps companies to clearly state their “corporate ide ...

  6. HDU - 2328 Corporate Identity(kmp+暴力)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2328 题意:多组输入,n==0结束.给出n个字符串,求最长公共子串,长度相等则求字典序最小. 题解:(居 ...

  7. KUANGBIN带你飞

    KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题    //201 ...

  8. Kuangbin 带你飞 KMP扩展KMP Manacher

    首先是几份模版 KMP void kmp_pre(char x[],int m,int fail[]) { int i,j; j = fail[] = -; i = ; while (i < m ...

  9. [kuangbin带你飞]专题1-23题目清单总结

    [kuangbin带你飞]专题1-23 专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 Fli ...

随机推荐

  1. 再论IBatisNet + Castle进行项目的开发

    随着项目的进展,Castle和IBatisNet给我的惊喜更多.Com+很重,不需要分布式的中小项目慎用,NHibernate虽好,NHibernate的2005-9-20发布了最新版本1.0-rc1 ...

  2. @Override must override a superclass method 有关问题解决

    1.Java开发环境时 如果在使用Eclipse开发Java项目时,在使用 @Override 出现以下错误: The method *** of type *** must override a s ...

  3. 【JS】JS中对于this的理解

    一.对this的产生原因分析和了解 第一:this指的是函数运行时所在的环境(即调用的对象). 第二:JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系(内存存储详细理解参考 ...

  4. 下载tree命令的源代码 - The Tree Command for Linux Homepage

    The Tree Command for Linux Homepage http://mama.indstate.edu/users/ice/tree/ [root@test ~]# ll -as m ...

  5. 模块 - hashlib/subprocess

    hashlib 模块 加密算法: hash (152位)散列 哈希 不可逆得 密码背后就是 hash 程序退出hash 值就变了 ,hash值得结果有可能重复 MD5 (128位) 讯息摘要演算法 基 ...

  6. Django - 权限(1)

    一.权限表结构设计 1.认识权限 生活中处处有权限,比如,腾讯视频开会员才有观看某个最新电影的权限,你有房间钥匙就有了进入这个房间的权限,等等.同样,程序开发过程中也有权限,我们今天说的权限指的是we ...

  7. Python面向对象高级编程-_slots_

    使用_slots_ 正常情况下,当定义一个class,创建一个class的实例后,可以给实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> class Stu ...

  8. Python(面向对象编程—1)

    class tst: l=[] x=1 a=tst() b=tst() a.l.append('a') b.l.append('b') a.x='a' b.x='b' print(a.l,a.x) # ...

  9. Apache添加多端口

    Apache\conf 目录下 添加端口监听     Vhost.conf简单写写

  10. VS2015配置安卓Android和iOS开发环境

    http://www.cjjjs.cn/paper/gzsh/627201502818357.aspx [摘要] 本文按照步骤一步步的介绍要下载安装的东西,都提供了下载地址.最后将所有需要的程序都打包 ...