Moderator: Board moderators
FAQ wrote:Here is my trying input
- Code: Select all
12
ADAM
MADAM
qweqweqwedadqweqweqwe
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
abcdefghijklmnopqrstuvwxyz
abcdefhh
abcabcabc
0101010101
a
abefgba
Line with nothing is empty string
- Code: Select all
3
5
0
13
0
255
1
2
5
9
1
5
some more tricky tests please?
AC
if(n>0)
{cout<<endl;}cout<<endl; for(i=0; i<=m; i++)
for(j=0; j<=n; j++)
{
if(X[i]==Y[j]){c[i][j]=c[i-1][j-1]+1;}# include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
using namespace std;
string s;
const int SIZE = 10001;
int dp [SIZE][SIZE];
void Initialize ()
{
for (int i = 0 ; i < SIZE ; i++)
for (int j = 0 ; j < SIZE ; j++)
dp[i][j]=-1;
}
int longestPalindrom (int i , int j)
{
if (dp[i][j]!=-1)
return dp[i][j];
if (i>j )
return 0;
if (i == j)
return 1;
if (i<j && s[i]==s[j])
{
dp[i][j] = 2+ longestPalindrom(i+1, j-1);
return dp[i][j];
}
if (i<j && s[i]!=s[j])
{
dp[i][j]= max(longestPalindrom(i+1,j),longestPalindrom(i,j-1));
return dp[i][j];
}
}
int main()
{
int t ;
cin >> t;
cin.ignore();
while(t--)
{
Initialize();
getline(cin,s);
cout<<longestPalindrom(0,s.size()-1)<<endl;
}
}
Users browsing this forum: Bing [Bot] and 0 guests