Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int test(string s1,string s2)
- {
- int i,j;
- int n=s1.length();
- int a[n+1][n+1];
- for(i=0;i<=n;i++)
- for(j=0;j<=n;j++)
- {
- if(i==0||j==0){a[i][j]=0; continue;}
- if(s1[i-1]==s2[j-1])a[i][j]=1+a[i-1][j-1];
- else a[i][j]=max(a[i-1][j],a[i][j-1]);
- }
- return a[n][n];
- }
- int main()
- {
- int i,j,m,n,t;
- cin>>t;
- while(t--)
- {
- string s1,s2;
- cin>>s1;
- s2=s1;
- reverse(s2.begin(),s2.end());
- cout<<test(s1,s2)<<endl;
- }
- }
Add Comment
Please, Sign In to add comment