Lightoj 1110 DP

来源:互联网 发布:java发送自定义短信 编辑:程序博客网 时间:2024/06/05 15:04

生疏了哎。。。

AC代码如下:

#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <cstring>using namespace std;int main(){int dp[101][101];string s[101][101];string a, b;int T, Case = 1;cin >> T;while( T-- ){cin >> a >> b;memset( dp, 0, sizeof( dp ) );for( int i = 0; i <= 100; i++ ){for( int j = 0; j <= 100; j++ ){s[i][j] = "";}}for( int i = 1; i <= a.size(); i++ ){for( int j = 1; j <= b.size(); j++ ){if( a[i-1] == b[j-1] ){dp[i][j] = dp[i-1][j-1] + 1;s[i][j] = s[i-1][j-1] + a[i-1];}else{if( dp[i-1][j] > dp[i][j-1] ){dp[i][j] = dp[i-1][j];s[i][j] = s[i-1][j];}else if( dp[i-1][j] < dp[i][j-1] ){dp[i][j] = dp[i][j-1];s[i][j] = s[i][j-1];}else{if( s[i-1][j] < s[i][j-1] ){dp[i][j] = dp[i-1][j];s[i][j] = s[i-1][j];}else{dp[i][j] = dp[i][j-1];s[i][j] = s[i][j-1];}}}}}cout << "Case " << Case++ << ": ";if( s[a.size()][b.size()].size() > 0 ){cout << s[a.size()][b.size()] << endl;}else{cout << ":(" << endl;}}}


 

原创粉丝点击