问题标题: 酷町堂:4143 wa

0
0
已解决
刘乐宸
刘乐宸
新手天翼
新手天翼
#include<iostream>
#include<cstring>
using namespace std;
int f[1005][1005];
int main(){
    while(1){
        memset(f,0,sizeof(f));

        string a,b;
        cin>>a;
        cin>>b;
    int n=a.length(),m=b.length();
    a=" "+a,b=" "+b;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(a[i]==b[j])
                f[i][j]=f[i-1][j-1]+1;
            else
                f[i][j]=max(f[i-1][j],f[i][j-1]);
        }
    }
    cout<<f[n][m]<<endl;
    } 

    return 0;
}

 


0
已采纳
柯以成
柯以成
新手光能
新手光能

while(1){

 

memset(f,0,sizeof(f));



 

string a,b;

 

cin>>a;

 

cin>>b;

 

int n=a.length(),m=b.length();

 

a=" "+a,b=" "+b;

 

for(int i=1;i<=n;i++){

 

for(int j=1;j<=m;j++){

 

if(a[i]==b[j])

 

f[i][j]=f[i-1][j-1]+1;

 

else

 

f[i][j]=max(f[i-1][j],f[i][j-1]);

 

}

 

}

 

cout<<f[n][m]<<endl;

 

}

你这没有跳出

我要回答