Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("date.in");
- int n, a[101][101], s[101][101], maxp = 0, poz;
- void drum(int i, int j)
- {
- if(i > 0){
- if(s[i][j] - s[i-1][j-1] == a[i][j]) drum(i-1,j-1);
- else if(s[i][j] - s[i-1][j] == a[i][j]) drum(i-1,j);
- else drum(i-1,j+1);
- cout << i << j << "\n";
- }
- }
- int main()
- {
- f >> n;
- for(int i = 1; i <= n; i++)
- for(int j = 1; j <= n; j++)
- f >> a[i][j];
- for(int i = 1; i <= n; i++)
- s[1][i] = a[1][i];
- for(int i = 2; i <= n; i++)
- for(int j = 1; j <= n; j++)
- if(a[i][j] == 0) s[i][j] = a[i-1][j];
- else if(s[i-1][j-1] >= s[i-1][j+1]) s[i][j] = a[i][j] + s[i-1][j-1];
- else s[i][j] = a[i][j] + s[i-1][j+1];
- for(int i = 1; i <= n; i++)
- if(s[n][i] > maxp){
- maxp = s[n][i];
- poz = i;
- }
- drum(n,poz);
- return 0;
- }
- /*
- 5
- 0 0 0 0 0
- 0 1 0 1 0
- 0 1 1 1 1
- 0 0 0 1 1
- 0 1 0 1 1
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement