UVa 10192 - Vacation
2013-04-08 15:29
330 查看
还是一道LCS的问题,记住在输入的时候用getline或者是gets否则WA
#include <iostream> #include <cstdio> #include <algorithm> #include <string> #include <cstring> using namespace std; string s1, s2; int dp[105][105], Case; int LCS ( string s1, string s2 ) { int m = s1.length ( ), n = s2.length ( ); //printf ( "%d %d\n", m, n ); dp[0][0] = 0; for ( int i = 1; i <= m; dp[i][0] = 0, ++i ) ; for ( int i = 1; i <= n; dp[0][i] = 0, ++i ) ; for ( int i = 1; i <= m; ++i ) for ( int j = 1; j <= n; ++j ) { if ( s1[i - 1] == s2[j - 1] ) dp[i][j] = dp[i - 1][j - 1] + 1; else dp[i][j] = max ( dp[i - 1][j], dp[i][j - 1] ); } return dp[m] ; } int main ( ) { Case = 1; while ( getline ( cin, s1 ) ) { if ( s1[0] == '#' ) break; getline ( cin, s2 ); cout << "Case #" << Case++ << ": you can visit at most " << LCS ( s1, s2 ) << " cities." << endl; } }
相关文章推荐
- UVa 10192 Vacation (DP 最长公共子序列)
- UVA 10192 - Vacation
- UVa:10192 Vacation
- UVA - 10192 - Vacation (动态规划, LCS)
- UVA 10192 - Vacation(最长公共子序列)
- UVA-10192-Vacation
- uva_10192 Vacation
- UVA 10192 Vacation 最长公共子序列(DP)
- UVa 10192 - Vacation 字符串dp
- UVA - 10192 Vacation
- UVa 10192 - Vacation & UVa 10066 The Twin Towers ( LCS 最长公共子串)
- UVa 10192 Vacation (DP&LCS)
- UVa 10192 - Vacation
- UVa 10192 - Vacation 字符串dp
- UVA 10192 - Vacation
- UVa 10192—Vacation
- 判断条件UVa 10192 - Vacation(LCS水题)
- UVa 10192 - Vacation & UVa 10066 The Twin Towers ( LCS 最长公共子串)
- UVA 10192 Vacation(dp + LCS)
- UVA 10192 - Vacation