题目:POJ3080 http://poj.org/problem?id=3080
题意:对于输入的文本串,输出最长的公共子串,如果长度相同,输出字典序最小的。
这题数据量很小,用暴力也是16ms,用后缀数组可以到0ms,但我不会XD。
暴力:
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 char str[15][65],ans[65]; 5 int main(){ 6 int T,n; scanf("%d", &T); 7 while (T--){ 8 memset(ans,0,sizeof(ans)); 9 scanf("%d", &n); 10 for (int i = 0; i < n; i++) scanf("%s", str[i]); 11 12 for (int i = 0; i < strlen(str[0]); i++) 13 for (int j = i + 2; j < strlen(str[0]); j++){ 14 char s[65];//子串 15 strncpy(s, str[0] + i, j - i + 1);///strncpy 16 s[j - i + 1] = '