标签:str from bsp mem repr status des plm lan
poj - 3080-Blue Jeans
Blue Jeans
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 17434 | Accepted: 7728 |
Description
Input
Output
Sample Input
3 2 GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATA GATACTAGATACTAGATACTAGATACTAAAGGAAAGGGAAAAGGGGAAAAAGGGGGAAAA GATACCAGATACCAGATACCAGATACCAAAGGAAAGGGAAAAGGGGAAAAAGGGGGAAAA 3 CATCATCATCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ACATCATCATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AACATCATCATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Sample Output
no significant commonalities AGATAC CATCATCAT
Source
| 16558378 | sunshinestyle | 3080 | Accepted | 700K | 16MS | G++ | 1245B | 2017-02-08 22:06:52 |
题解:
初级题目, 采用暴力即可。求出两两的最长连续子串,逐个匹配。
//p-3080
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
const int MAXN = 65;
const int MAXM = 11;
int dp[MAXN][MAXN];
char data[MAXM][MAXN], LCS[MAXN], comp[MAXN];
int function(int idx){
memset(dp, 0, sizeof(dp));
int max_len = 0, pt = -1;
for(int i=1; i<=60; ++i){
for(int j=1; j<=strlen(comp+1); ++j){
if(data[idx][i] == comp[j]){
dp[i][j] = dp[i-1][j-1] + 1;
if(dp[i][j] > max_len){
max_len = dp[i][j];
pt = j;
} else if(dp[i][j] == max_len){
if(comp[j-max_len+1] < comp[pt-max_len+1]){
pt = j;
}
}
}
}
}
if(max_len >= 3){
for(int i=1; i<=max_len; ++i){
LCS[i] = comp[pt-max_len+i];
}
LCS[max_len+1] = ‘\0‘;
}
return max_len;
}
int main(){
freopen("in.txt", "r", stdin);
int test_num, m;
scanf("%d", &test_num);
while(test_num--){
scanf("%d", &m);
scanf("%s", comp+1);
for(int i=0; i<m-1; ++i){
scanf("%s", data[i]+1);
}
int idx = 0, flag = 1;
while(idx<(m-1)){
if(function(idx) < 3){
flag = 0;
break;
}
strcpy(comp+1, LCS+1);
idx++;
}
if(flag == 0 || strlen(LCS+1) < 3){
printf("no significant commonalities\n");
}else{
printf("%s\n", LCS+1 );
}
}
return 0;
}
标签:str from bsp mem repr status des plm lan
原文地址:http://www.cnblogs.com/zhang-yd/p/6380085.html