poj 3080
2013-12-14 20:01
344 查看
这也是一个简单的字符串比较问题。
题目大意是:给出M个字符串系列,每个系列有60个字符,求这些字符串最长的相同子串,若有多个相同长度的字符,则输出字典序最小那个。
#include
#include
using namespace std;
char base[11][66] ;
int fun(int x , int y)
{
int i , j , n = 0 , sum2 = 0 , sum1;
while(n < 58)
{
sum1 = 0;j = n;
for(i = x ; i < 60
;i++)
{
if(base[0][i]
== base[y][j]){sum1 += 1 ; j+= 1;}
else
break;
}
if(sum1 >
sum2) sum2 = sum1;
n+=1;
}
return sum2;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int i , j , max = 0 , m ,
y;
cin>>m;
for(i = 0 ; i < m;
i++)
cin>>base[i];
for(i = 0 ; i < 58 ;
i++)
{
// int n = 1
;
int sum1 = 0
, sum2 = 60;
for(j = 1 ; j
< m ; j++)
{
sum1
= fun(i , j);
if(sum1
< sum2) sum2 = sum1;
}
if(sum2 >
max) {max = sum2; y = i;}
else if(sum2
== max)
{
int
k = y, g = i;
for(
; k < sum2 + k ; k++)
{
if(base[0][k]
< base[0][g]) break;
else
if(base[0][k] > base[0][g]) {y = i ;
break;}
g
+= 1;
}
}
}
if(max <
3) cout<<"no significant
commonalities"<<endl;
else
{
for(i = y ; i
< y+max ; i++)
cout<<base[0][i];
cout<<endl;
}
}
return 0;
}
题目大意是:给出M个字符串系列,每个系列有60个字符,求这些字符串最长的相同子串,若有多个相同长度的字符,则输出字典序最小那个。
#include
#include
using namespace std;
char base[11][66] ;
int fun(int x , int y)
{
int i , j , n = 0 , sum2 = 0 , sum1;
while(n < 58)
{
sum1 = 0;j = n;
for(i = x ; i < 60
;i++)
{
if(base[0][i]
== base[y][j]){sum1 += 1 ; j+= 1;}
else
break;
}
if(sum1 >
sum2) sum2 = sum1;
n+=1;
}
return sum2;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int i , j , max = 0 , m ,
y;
cin>>m;
for(i = 0 ; i < m;
i++)
cin>>base[i];
for(i = 0 ; i < 58 ;
i++)
{
// int n = 1
;
int sum1 = 0
, sum2 = 60;
for(j = 1 ; j
< m ; j++)
{
sum1
= fun(i , j);
if(sum1
< sum2) sum2 = sum1;
}
if(sum2 >
max) {max = sum2; y = i;}
else if(sum2
== max)
{
int
k = y, g = i;
for(
; k < sum2 + k ; k++)
{
if(base[0][k]
< base[0][g]) break;
else
if(base[0][k] > base[0][g]) {y = i ;
break;}
g
+= 1;
}
}
}
if(max <
3) cout<<"no significant
commonalities"<<endl;
else
{
for(i = y ; i
< y+max ; i++)
cout<<base[0][i];
cout<<endl;
}
}
return 0;
}
相关文章推荐
- poj 1035
- poj 2965
- 欢迎您在新浪博客安家
- UnsupportedOperationException
- 黑马程序员—GUI(键盘事件)小例子
- 嵌入式学习之路(十)——C语言学习(5)
- U盘装win7 “安装程序无法创建新的系统分区,也无法定位现有的系统分区“最终解决方法
- 14.java NumberFormat 类
- 给iOS开发新手送点福利,简述UITextField的属性和用法
- 13.java MessageFormat 类
- 黑马程序员—GUI(菜单)小例子
- S3C6410+WinCE+GPIO+流驱动+详细过程
- 项目视频讲解_360问答系统
- Centos yum 错误
- java Math类
- test
- 使用 Spring 2.5 TestContext 测试框架
- 简单的实例来理解WCF 数据服务(WCF DS)
- SendMessage发送组合键
- C# Enum,Int,String之间的互相转换