Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int la,lb;
  4. string a,b;
  5. int dp[1010][1010];
  6. int solve(int i,int j){
  7.     if(i==0) return dp[i][j]=j;
  8.     if(j==0) return dp[i][j]=i;
  9.     if(dp[i][j]!=-1) return dp[i][j];
  10.     if(a[i-1]==b[j-1]) return solve(i-1,j-1);
  11.     dp[i][j]=1+min(solve(i-1,j-1),min(solve(i-1,j),solve(i,j-1)));
  12.     return dp[i][j];
  13. }
  14. void fil(int a,int b){
  15.     for(int i=0;i<=a;i++) for(int j=0;j<=b;j++) dp[i][j]=-1;;
  16. }
  17. int main()
  18. {
  19.     cin>>a>>b;
  20.     la=a.size();
  21.     lb=b.size();
  22.     fil(la,lb);
  23.     int mx=max(la,lb);
  24.     int cnt=solve(la,lb);
  25.     if(mx%2==1) mx=mx/2+1;
  26.     else mx/=2;
  27.     printf("%d ",cnt);
  28.     if(cnt<mx) printf("1");
  29.     else printf("0");
  30.     return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement