http://poj.org/problem?id=3450

直接暴力枚举第一行的每一个字串,在下面的字符串中查找就行了,注意不符合就及时break。

然后试了一下strstr,发现效率是KMP的3-4倍。

还可以先排序找出最短的字符串,然后暴力,但是sort好像不能对char的二维数组排序,只能用string,string的字符串处理的函数都还没怎么看,就懒得搞了。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; char a[][];
int n; bool cmp(char *x,char *y)
{
return strlen(x) < strlen(y);
} int main()
{
while(scanf("%d",&n) && n)
{
for(int i = ;i <= n;i++) scanf("%s",a[i]);
int len = strlen(a[]);
char t[],ans[] = "";
for(int i = ;i < len;i++)
{
int cnt = ;
for(int j = i;j < len;j++)
{
t[cnt++] = a[][j];
t[cnt] = ;
int flag = ;
for(int k = ;k <= n;k++)
{
if(!strstr(a[k],t))
{
flag = ;
break;
}
}
if(flag)
{
if(strlen(t) > strlen(ans) || strlen(t) == strlen(ans) && strcmp(t,ans) < )
{
memcpy(ans,t,sizeof(t));
}
}
}
}
if(strlen(ans) == ) printf("IDENTITY LOST\n");
else puts(ans);
}
return ;
}

POJ_3450_KMP的更多相关文章

随机推荐

  1. iOS-UITableView HeaderView随Cell一起移动

    我们在使用TableView的时候,有时会设置HeaderView,当我们滑动的时候,HeaderView不会随Cell滑出屏幕,而是会固定到导航栏下面.今天我们要实现HeaderView随滑动一起滑 ...

  2. ACM北大暑期课培训第七天

    昨天没时间写,今天补下. 昨天学的强连通分支,桥和割点,基本的网络流算法以及Dinic算法: 强连通分支 定义:在有向图G中,如果任意两个不同的顶点 相互可达,则称该有向图是强连通的. 有向图G的极大 ...

  3. linux常用命令,最基础

    rmdir keda1/ 6 touch test.java 创建空文件 7 拷贝文件 cp 源文件 目标文件 cp test.java test1.java 8 删除文件rm -r 递归删除 -rf ...

  4. 浏览器从输入url 到页面展示完成响应过程

    用户从输入 url 到浏览器响应,呈现给用户的具体过程 1.用户在输入栏输入地址 (1) 如果有 beforeunload 事件会先执行判断继续还是跳出操作 (2) 浏览器进程识别是 地址还是关键字检 ...

  5. Spring Cloud(二):Web服务客户端之Ribbon

    上文介绍了服务如何通过Eureka实现注册,以及如何从Eureka获取已经注册的服务列表.那么拿到注册服务列表后, 如何进行服务调用?一个简单的实现是可以从被调用服务的实例列表中选择一个服务实例,通过 ...

  6. 《【面试突击】— Redis篇》-- Redis的主从复制?哨兵机制?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注左上角编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的主从复制?哨兵机制? 在这个 ...

  7. 出现An App ID with Identifier 'com.XXX.XXX’ is not available. Please enter a different string.

    解决方法: 1.移除钥匙串中的开发证书,重新导入, 完全关闭Xcode; 2.再次打开Xcode,通过 Preferences - View Details - download 新的证书: 3.选择 ...

  8. JS绘图

    https://www.highcharts.com.cn/demo/highcharts/ 百度的Echarts https://www.echartsjs.com/zh/index.html

  9. 设计模式(Java语言)- 工厂方法模式

    前言 在介绍工厂方法模式之前,我们需要知道这个设计模式是什么,解决了什么样的问题?在上一篇博客 设计模式(Java语言)- 简单工厂模式 介绍了简单工厂模式,然后总结了简单工厂模式的缺点: 1.当新增 ...

  10. [洛谷P4097] [HEOI2013] Segment

    Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段.记第 \(i\) 条被插入的线段的标号为 \(i\) 2.给定一个数 \(k\) ,询问与直线 \(x = k\ ...