hiho week 162 register

Ended

Participants:319

Verdict:Accepted
Score:100 / 100
Submitted:2017-08-07 11:02:56

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
#include<vector>
#include<string.h>
using namespace std;
    int longstr(string s) {
        
    
        int n = s.size();
        
        vector< vector<int> > dp(n+1 , vector<int>(n+1 , 0));
        
        for(int i = 0 ; i < n ; ++i)
            for(int j = i-1 ; j >= 0 ; --j){
            //  cout << s[i] << " - " << s[j] <<endl;
            //  print(dp);
                if(s[j] == s[i]){
                    dp[j][i] = dp[j+1][i-1];
                    
                }
                else dp[j][i] = min(dp[j+1][i] , min(dp[j][i-1] , dp[j+1][i-1])) + 1;           
            }
              
  
        
        return dp[0][n-1];
        
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX