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,用 ...
随机推荐
- 集合(从本部分开始涉及API)
集合(从本部分开始涉及API) 集合是指一个对象容纳了多个对象,这个集合对象主要用来管理维护一系列相似的对象. 数组就是一种对象.(练习:如何编写一个数组程序,并进行遍历.) java.util.*定 ...
- Spark--sql--所有函数举例(spark-2.x版本)
! expr - Logical not. % expr1 % expr2 - Returns the remainder afterexpr1/expr2. Examples: > SELEC ...
- vMware 按装 MacOs
大概思路:1.vMware11 下载以管理员运行2.服务项按名称排序把四荐停止运行3.插件unlock 以管理员运行4.载入apple Mac os x 10.11文件5.打开虚拟机 wzfou如果报 ...
- php代码画足球场
用代码画了个足球场 原图: 代码画出的效果图: 代码如下: // 创建一个 200X200 的图像 $img = imagecreate(800, 500); // 分配颜色 $bg = imagec ...
- 非常实用的使用eclipse的快捷键和技巧
解决代码的自动提示问题: 1.打开 Eclipse -> Window -> Perferences 2.找到Java 下的 Editor 下的 Content Assist , 右边出现 ...
- mybatis14--注解的配置
去掉对应的mapper映射文件 在dao文件中增加注解 public interface StudentDao { /** * 新增学生信息 */ @Insert(value="insert ...
- Jupyter notebook安装
之前就装了jupyter notebook,但今天打开来发现是python2,并且似乎没法转换到python3??? so,再把python3的版本安装一下 打开CMD pip install jup ...
- js设计模式(六)---组合模式
组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构.除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性.基本图例 1.组合模式 ...
- C++多态等知识点
分清虚函数和纯虚函数的区别:(1).虚函数是函数前加关键字virtual,一般定义格式为:virtual 类型 函数名 (参数表){ 函数体 } (2).纯虚函数的生命格式为: virtual 类型 ...
- fastdfs-nginx-module-master的一些奇怪的特点
测试环境和生产环境分别是两套fastdfs,但是网络没有隔离,今天发现一个奇怪的现象就是测试环境的文件,通过生产环境的入口,居然也可以访问到,我草了,奇怪了 研究发现功劳是fastdfs-nginx- ...