首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

9度教程第98题

2013-02-19 
九度教程第98题题目地址:http://jobdu.sinaapp.com/problem.php?cid1040&pid97C语言源码:#includestdio

九度教程第98题

题目地址:http://jobdu.sinaapp.com/problem.php?cid=1040&pid=97

C语言源码:

#include<stdio.h>#include<string.h>int dp[110][110];char s1[110],s2[110];int len1,len2;int max(int a,int b){return a>b?a:b;}int compu(int i,int j){int a,b;if(i==0||j==0)return 0;else{if(s1[i-1]==s2[j-1]){if(dp[i-1][j-1]!=-1)return dp[i-1][j-1]+1;elsereturn compu(i-1,j-1)+1;}else{if(dp[i-1][j]!=-1)a=dp[i-1][j];elsea=compu(i-1,j);if(dp[i][j-1]!=-1)b=dp[i][j-1];elseb=compu(i,j-1);return max(a,b);}}}int main(){int i,j;while(scanf("%s %s",s1,s2)!=EOF){len1=(int)strlen(s1);len2=(int)strlen(s2);for(i=0;i<=len1;i++)for(j=0;j<=len2;j++)dp[i][j]=-1;for(i=0;i<=len1;i++)for(j=0;j<=len2;j++)dp[i][j]=compu(i,j);printf("%d\n",dp[len1][len2]);}}


热点排行