Advertisement
Josif_tepe

Untitled

Dec 7th, 2021
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int n;
  5. int mat[105][105];
  6. int dp[105][105];
  7. int rek(int i, int j)
  8. {
  9.     if (j==(0) && i==(0))
  10.     {
  11.  
  12.         return mat[i][j];
  13.     }
  14.     if(dp[i][j]!=-1)
  15.     {
  16.         return dp[i][j];
  17.     }
  18.     int zbir=2e9;
  19.     if(j-1>=0)
  20.     {
  21.        zbir=min(zbir,rek(i,j-1)+mat[i][j]);
  22.     }
  23.     if(i-1>=0)
  24.     {
  25.        zbir=min(zbir,rek(i-1,j)+mat[i][j]);
  26.     }
  27.     if(j-1>=0 && i-1>=0)
  28.     {
  29.        zbir=min(zbir,rek(i-1,j-1)+mat[i][j]);
  30.     }
  31.     dp[i][j]=zbir;
  32.     return zbir;
  33.  
  34. }
  35. int main()
  36. {
  37.     cin>>n;
  38.     for(int i=0;i<n;i++)
  39.     {
  40.         for(int j=0;j<(n-i);j++)
  41.         {
  42.             cin>>mat[i][j];
  43.         }
  44.     }
  45.     for(int i=0;i<n;i++)
  46.     {
  47.         for(int j=0;j<(n-i);j++)
  48.         {
  49.             dp[i][j]=-1;
  50.         }
  51.     }
  52.     int mini=2e9;
  53.     int imin=0;
  54.     int jmin=0;
  55.  
  56.     for(int i=0;i<n;i++)
  57.     {
  58.       if(rek(i,n-i-1)<mini)
  59.       {
  60.           mini=rek(i,n-i-1);
  61.            imin=i;
  62.            jmin=n-i-1;
  63.       }
  64.     }
  65.     cout<<mini<<endl;
  66.     cout<<imin+1<<" "<<jmin+1;
  67.     return 0;
  68. }
  69.  
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement