Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 2000;
- char str[N + 1];
- int dp[N + 1][N + 1];
- int main(){
- scanf(" %s", str);
- int len = strlen(str);
- for(int i = 1; i <= len; ++i){
- for(int j = 1; j <= len; ++j){
- if(i != j && str[i - 1] == str[j - 1]){
- dp[i][j] = 1 + dp[i - 1][j - 1];
- } else {
- dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
- }
- }
- }
- cout << dp[len][len];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement