HDU 1238
好吧,这题直接搜索就可以了,不过要按照长度最短的来搜,很容易想得到。
记得ACM比赛上有这道题,呃。。不过,直接搜。。呵呵了,真不敢想。
#include <iostream>
#include <cstdio>
#include <string.h>
#include <algorithm>
using namespace std; char str[][];
char s1[],s2[]; int main(){
int T;
scanf("%d",&T);
while(T--){
int n; int min_p,minl=;
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%s",str[i]);
int tmp=strlen(str[i]);
if(minl>tmp){
min_p=i; minl=tmp;
}
}
for(int i=;i<=minl;i++){
bool flag=false;
for(int k=;k<=minl-i;k++){
int p;
for(p=;p<i;p++){
s1[p]=str[min_p][k+p];
s2[i-p-]=str[min_p][k+p];
}
s1[p]=s2[p]='\0';
// printf("%s\n%s\n",s1,s2);
int j;
for(j= ;j<=n;j++)
if(!strstr(str[j],s1)&&!strstr(str[j],s2))
break;
if(j>n){
flag=true;
break;
}
}
if(!flag){
printf("%d\n",i-);
break;
}
}
}
return ;
}
上面用到了一上strstr()的函数,这个是我从别处学来的,也写写,分析一下。
函数名: strstr 原型是朴素的字符串比较方法
功 能: 在字符串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
用法:#include <string.h>
功能:
str1: 被查找目标
str2:要查找对象
该函数返回str2第一次在str1中的位置的指针,如果没有找到,返回NULL
函数:find(),属于类string中一个函数。
包含在#include <string>中
功能较多,最常用的便是 string s.find(str)返回的是字符串str第一次在s中出现的位置。否则会返回一个很大的值s.npos
也可以使用s.find(str,5)表示从第5个位置开始查找,返回值和上面相同。
HDU 1238的更多相关文章
- (KMP 字符串处理)Substrings -- hdu -- 1238
http://acm.hdu.edu.cn/showproblem.php?pid=1238 Substrings Time Limit:1000MS Memory Limit:32768KB ...
- Substrings - HDU 1238(最大共同子串)
题目大意:给你N个串,求出来他们的最大公共子串的长度(子串反过来也算他们的子串). 分析:很久以前就做过这道题,当时是用的strstr做的,不过相同的都是枚举了子串......还是很暴力,希望下次 ...
- hdu 1238 Substrings(kmp+暴力枚举)
Problem Description You are given a number of case-sensitive strings of alphabetic characters, find ...
- HDU 1238 Substing
思路: 1.找出n个字符串中最短的字符串Str[N] 2.从长到短找Str[N]的子子串 subStr[N],以及subStr[N]的反转字符串strrev(subStr[N]):(从长到短是做剪枝处 ...
- hdu 2328 Corporate Identity(kmp)
Problem Description Beside other services, ACM helps companies to clearly state their “corporate ide ...
- HDU - 2328 Corporate Identity(kmp+暴力)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2328 题意:多组输入,n==0结束.给出n个字符串,求最长公共子串,长度相等则求字典序最小. 题解:(居 ...
- KUANGBIN带你飞
KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题 //201 ...
- Kuangbin 带你飞 KMP扩展KMP Manacher
首先是几份模版 KMP void kmp_pre(char x[],int m,int fail[]) { int i,j; j = fail[] = -; i = ; while (i < m ...
- [kuangbin带你飞]专题1-23题目清单总结
[kuangbin带你飞]专题1-23 专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 Fli ...
随机推荐
- Win7系统专栏
1.去掉Win7快捷方式小箭头的方法如下: 使用普通方法会使系统出现异常,比如开始菜单程序无法删除.收藏夹无法展开等,网上流传使用透明图标的方法会在快捷方式上留下一块黑痣,下面的方法是小君研究出来的, ...
- Organize Your Train part II(hash)
http://poj.org/problem?id=3007 第一次用STL做的,TLE了,自己构造字符串哈希函数才可以.. TLE代码: #include <cstdio> #inclu ...
- win7下安装memcache
Windows7 x64在Wamp集成环境下安装Memcache,步骤如下: 1.Memcached-win64 下载 (1)最新版本下载:http://blog.couchbase.com/memc ...
- netty支持SSL,OpenSSL
import io.netty.channel.Channel; import io.netty.channel.ChannelInitializer; import io.netty.handler ...
- BZOJ 4057 状压DP
思路: 状压一下 就完了... f[i]表示选了的集合为i 转移的时候判一判就好了.. //By SiriusRen #include <cstdio> #include <cstr ...
- # --with-http_sub_module模块
作用: http内容替换 语法 第一种语法: sub_filter string:要替换的内容 替换后的内容 这个模块只能替换第一个匹配的字符串,如果需要匹配全部替换,则用到下面的第三种语法配置 第二 ...
- Java基础13一异常
1.异常概念 异常是程序在运行期发生的不正常的事件,它会打断指令的正常执行流程. 设计良好的程序应该在异常发生时提供处理这些不正常事件的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果. Ja ...
- OPPO R11 R11plus系列 解锁BootLoader ROOT Xposed 你的手机你做主
首先准备好所有要使用到的文件 下载链接:https://share.weiyun.com/5WgQHtx 步骤1. 首先安装驱动 解压后执行 Install.bat 部分电脑需要禁用驱动程序签名才可以 ...
- mysqlslap: Error when connecting to server: 2001 Can't create UNIX socket (24) 解决方法
在用mysqlslap对mysql进行压力测试遇到mysqlslap: Error when connecting to server: 2001 Can't create UNIX socket ( ...
- MySQL笔试题搜罗
一.有表如下 +------+---------+--------+ | name | subject | score | +------+---------+--------+ | 张三 | 数学 ...