NOI / 1.7编程基础之字符串

/* Accepted */
#include
#include
#include
using namespace std;

int tab[600][600];
string s1;
string s2;
int len1,len2;
int globalmax=0;
int main()
{
    cin>>s1>>s2;
    len1=s1.size();
    len2=s2.size();
    int minlen=min(len1,len2);
    s1+=s1; //concatenate
    s2+=s2;
    len1=s1.size();
    len2=s2.size();
    memset(tab,0,sizeof(tab));
    
    for(int i=0;i0&&j>0)
            {
                if(s1[i]==s2[j]&&tab[i-1][j-1]

Idea : repeat each string (s+=s) . find longest continuous substring. guarantee substring length <= min of the two input string.

你可能感兴趣的:(openjudge,NOI,动态规划)