POJ3080 Blue Jeans 【KMP 暴力水过】
来源:互联网 发布:样加入淘宝客去推广 编辑:程序博客网 时间:2024/06/05 01:15
题目描述
求n个字符串的最长公共序列,若长度相同,输出字典序最小的。若长度小于3,输出no significant commonalities
Sample Input
3
2
GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
3
GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATA
GATACTAGATACTAGATACTAGATACTAAAGGAAAGGGAAAAGGGGAAAAAGGGGGAAAA
GATACCAGATACCAGATACCAGATACCAAAGGAAAGGGAAAAGGGGAAAAAGGGGGAAAA
3
CATCATCATCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
ACATCATCATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACATCATCATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Sample Output
no significant commonalities
AGATAC
CATCATCAT
解题思路
暴力0ms可过....用ans储存当前最优解。
下面是代码
#include <cstdio>#include <cstring>const int maxn = 61;int n;int anslen = 0;char ans[maxn];char s[4010][maxn];char p[maxn];//模式串int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d",&n); anslen = 0; for(int i = 0 ; i < n ; i ++) scanf("%s",s[i]); int len1 = strlen(s[0]); for(int i = 0 ; i < len1 ; i ++) { for(int j = i ; j < len1 ; j ++) { /** 模式串是s[0][i,i+1,...,j] */ for(int k = i ; k <= j ; k ++) { p[k-i] = s[0][k]; } p[j-i+1] = '\0'; /** 模式串已就绪 */ bool flag = true;//记录其他主串是否都有p串 int len = j-i+1;//长度 if(len < anslen) continue; for(int k = 1 ; k < n ; k ++) { if(strstr(s[k],p) == NULL) { flag = false; break; } } if(flag) { if(len == anslen) {//看字典序 if(strcmp(p,ans) < 0) { strcpy(ans,p); } }else { strcpy(ans,p); anslen = len; } } } } if(anslen < 3) printf("no significant commonalities\n"); else printf("%s\n",ans); } return 0;}
1 0
- POJ3080 Blue Jeans 【KMP 暴力水过】
- POJ3080 Blue Jeans(kmp & 暴力)
- POJ3080 Blue Jeans(暴力kmp)
- poj3080 Blue Jeans-------KMP
- POJ3080-Blue Jeans(KMP,水)
- POJ3080《Blue Jeans》方法:暴力
- poj3080 Blue Jeans(串的暴力枚举)
- poj3080 blue Jeans
- Blue Jeans poj3080
- POJ3080 Blue Jeans
- POJ3080:Blue Jeans
- POJ3080 Blue Jeans
- poj3080 Blue Jeans
- [POJ3080] Blue Jeans
- POJ3080 Blue Jeans
- POJ3080 Blue Jeans
- poj3080 Blue Jeans
- POJ3080-Blue Jeans
- 用Markdown写一本自己的开源电子书
- CSS3学习手册(续)
- codeforces 14E Camels (计数类dp)
- 雅虎定位查询天气
- Windbg调试命令详解
- POJ3080 Blue Jeans 【KMP 暴力水过】
- Git常用命令总结
- Apache + Tomcat采用AJP实现负载均衡与session同步
- Resin介绍及其使用配置
- C++ primer(第五版)8.2.1节练习答案
- [libevent] 简介和使用
- leetcode 日经贴,python code -Remove Element
- leetcode Implement strStr()
- Android工具方法- 获取当前日期是星期几