POJ 3080 Blue Jeans(Java暴力)
Blue Jeans
【题目链接】Blue Jeans
【题目类型】Java暴力
&题意:
就是求k个长度为60的字符串的最长连续公共子串,2<=k<=10
规定:
1、 最长公共串长度小于3不输出
2、 若出现等长的最长的子串,则输出字典序最小的串
&题解:
这个我刚开始用c++写的,真的是恶心到我了,啥都要自己实现,所以突然就想到用Java试试,结果还真的挺简单.思路就是在第1个串中找出所有子串,之后去下面找就行了.
String.compareTo(Sting )是字符串比较; subString 区间是 [ , ) 左闭右开的; String.indexOf(str) 是返回str在字符串中第一次出现的位置,如果没有就返回-1
注意: 1.package zz 是不能放在提交代码里的 否则会Runtime Error
2.public static void main 中的static 不能去掉 否则会Runtime Error
&代码:
import java.io.*;
import java.math.*;
import java.util.*;
public class Main{
static boolean ok(String t,int n,String s[]) {
for(int i=1;i<n;i++) {
if(s[i].indexOf(t)==-1) {
return false;
}
}
return true;
}
public static void main(String[] args) throws Exception{
Scanner cin=new Scanner(System.in);
int t=cin.nextInt();
while(t-->0) {
int n=cin.nextInt();
String[] s=new String[23];
// System.out.println("n="+n);
s[0]=cin.nextLine();
for(int i=0;i<n;i++) {
s[i]=cin.nextLine();
// System.out.println("s["+i+"]="+s[i]);
}
String ans="";
for(int i=0;i<s[0].length();i++) {
for(int j=i;j<s[0].length();j++) {
String te=s[0].substring(i, j+1);
if(ok(te,n,s)) {
// System.out.println(te);
// System.out.println(ans+" ===");
if(ans.length()<te.length()) {
ans=te;
}
if(ans.length()==te.length()&&ans.compareTo(te)>0) {
ans=te;
}
}
}
}
if(ans.length()>=3) System.out.println(ans);
else System.out.println("no significant commonalities");
// System.out.println(ok("AGATAC",n,s));
}
cin.close();
}
}
POJ 3080 Blue Jeans(Java暴力)的更多相关文章
- POJ 3080 Blue Jeans (求最长公共字符串)
POJ 3080 Blue Jeans (求最长公共字符串) Description The Genographic Project is a research partnership between ...
- POJ 3080 Blue Jeans (字符串处理暴力枚举)
Blue Jeans Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 21078 Accepted: ...
- POJ 3080 Blue Jeans 找最长公共子串(暴力模拟+KMP匹配)
Blue Jeans Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20966 Accepted: 9279 Descr ...
- poj 3080 Blue Jeans
点击打开链接 Blue Jeans Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10243 Accepted: 434 ...
- POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)
题意:给出m个字符串,找出其中的最长公共子序列,如果相同长度的有多个,输出按字母排序中的第一个. 思路:数据小,因此枚举第一个字符串的所有子字符串s,再一个个比较,是否为其它字符串的字串.判断是否为字 ...
- poj 3080 Blue Jeans (暴力枚举子串+kmp)
Description The Genographic Project is a research partnership between IBM and The National Geographi ...
- POJ - 3080 Blue Jeans 【KMP+暴力】(最大公共字串)
<题目链接> 题目大意: 就是求k个长度为60的字符串的最长连续公共子串,2<=k<=10 限制条件: 1. 最长公共串长度小于3输出 no significant co ...
- POJ 3080 Blue Jeans 后缀数组, 高度数组 难度:1
题目 http://poj.org/problem?id=3080 题意 有m个(2<=m<=10)不包含空格的字符串,长度为60个字符,求所有字符串中都出现过的最长公共子序列,若该子序列 ...
- POJ 3080 Blue Jeans、POJ 3461 Oulipo——KMP应用
题目:POJ3080 http://poj.org/problem?id=3080 题意:对于输入的文本串,输出最长的公共子串,如果长度相同,输出字典序最小的. 这题数据量很小,用暴力也是16ms,用 ...
随机推荐
- OSPF进程号的意义及多进程OSPF
OSPF进程号的意义及多进程OSPF—吴锦霖分享 1. OSPF进程号的概念 在配置OSPF时,我们采用的是router ospf命令,在该命令后面需要加上这个OSPF进程的进程号(Proces ...
- Android 引用外部字体
在Android中,加载外部字体是非常容易的! 步骤如下: 1. 创建新的Android工程: 2. 在工程下的assets文件夹下新建名字为fonts的文件夹(名字可以任意选取),把所有的外部字体文 ...
- (原)关于ffmpeg使用custom io-context遇到的一些坑
今天在使用android-as_video_player这个开源的框架来实现自己项目中的一个播放器,中间关于ndk编译ffmpeg遇到的坑,现在想起来,对ndk的心态,现在心里都有一万个cnm在奔腾, ...
- SpringBoot系统列 5 - 接口版本控制、SpringBoot FreeMarker模板引擎
接着上篇博客的代码继续写 1.接口版本控制 一个系统上线后会不断迭代更新,需求也会不断变化,有可能接口的参数也会发生变化,如果在原有的参数上直接修改,可能会影响线上系统的正常运行,这时我们就需要设置不 ...
- [转]html5: postMessage解决跨域和跨页面通信的问题
[转]html5: postMessage解决跨域和跨页面通信的问题 平时做web开发的时候关于消息传递,除了客户端与服务器传值,还有几个经常会遇到的问题: 多窗口之间消息传递(newWin = wi ...
- xxl-job安装教程
xxl-job是一个开源的分布式调度框架,其他类似的框架还有airflow,oozie等等,需要进行对比 https://github.com/xuxueli/xxl-job 1.首先git clon ...
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】HAWQ数据仓库 使用之 gpfdist协议
一.HAWQ基本安装自带gpfdist协议 gpfdist是HAWQ支持的外部表访问协议之一,这是hawq自带的一个简单的集成http服务命令. 在我的前述安装hawq之后,gpfdist命令位于ha ...
- 搜素表脚本.vbs
Set oFso = CreateObject("Scripting.FileSystemObject")dim path(30)dim name(30)'说明书表头有15列:补丁 ...
- NW.js 桌面应用程序
nw.js官网 https://nwjs.io/downloads/ 中文网:https://nwjs.org.cn/ 参考文档 https://www.cnblogs.com/xuanhun/ ...
- css 背景图片虚化效果
转载地址:http://blog.csdn.net/ohehehou/article/details/51975539 需求:一个div设置了background: url,现在需要使图片背景模糊,d ...