Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream f("taxe.in");
- ofstream g("taxe.out");
- int A[205][205],B[205][205],n,m;
- void citire()
- {
- f>>n>>m;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=m;j++)
- f>>A[i][j];
- }
- void taxe()
- {
- for(int j=n;j>=1;j--)
- B[j][m] = A[j][m];
- for(int j=m-1;j>=1;j--)
- {
- B[1][j]=min(B[1][j+1],B[2][j+1])+A[1][j];
- B[n][j]=min(B[n][j+1],B[n-1][j+1])+A[n][j];
- for(int i=2;i<n;i++)
- B[i][j]=A[i][j]+min(min(B[i][j+1],B[i-1][j+1]),B[i+1][j+1]);
- }
- }
- int minim()
- {
- int mini=B[1][1];
- for(int j=1;j<=n;j++)
- if(B[j][1]<mini)
- mini=B[j][1];
- return mini;
- }
- int main()
- {
- citire();
- taxe();
- g<<minim();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement