HDU-2328 Corporate Identity

题目链接:https://vjudge.net/problem/HDU-2328

还是在多个字符串中寻找最长公共子串

从第一个字符串里找子串和其他字符串匹配,有多个最长的输出字典序最小的

#include
#include
#include
#include
#include
using namespace std;
const int N=200+10; //文本串长度 
const int M=200+10; //模式串长度 
char a[N]; //文本串 
char b[M]; //模式串 
int next0[M]; 
char s[4010][N];
void find_next()
{
	int len=strlen(b);
	int k=-1;
	next0[0]=-1;
	int j=0;
	while(jcnt) //比较长度 
				{
					cnt=j;
					strcpy(ans,b);
				}
				if(j==cnt&&strcmp(ans,b)>0) strcpy(ans,b); //长度相同比较字典序 
			}
		}
		if(cnt==0) printf("IDENTITY LOST\n"); //没有找到 
		else printf("%s\n",ans);
	}
	return 0;
}

你可能感兴趣的:(HDU-2328 Corporate Identity)