Pagini recente » Cod sursa (job #150245) | Cod sursa (job #1077352) | Cod sursa (job #2203667) | Cod sursa (job #2694458) | Cod sursa (job #638335)
Cod sursa(job #638335)
#include <cstdio>
#include <cstring>
#define NMAX 505
char S[NMAX], Sr[NMAX];
int D[NMAX][NMAX], i, j, N;
inline int MAX( int x, int y )
{
return ( x > y ) ? x : y;
}
int main()
{
freopen("palm.in", "r", stdin);
freopen("palm.out", "w", stdout);
gets( S+1 );
N = strlen( S+1 );
strcpy( Sr+1, S+1 );
for( i = 1; i <= N; ++i )
Sr[i] = S[N-i+1];
for( i = 1; i <= N; ++i )
for( j = 1; j <= N; ++j )
if( S[i] == Sr[j] ) D[i][j] = 1 + D[i-1][j-1];
else D[i][j] = MAX( D[i-1][j], D[i][j-1] );
printf("%d\n", D[N][N]);
return 0;
}