#include using namespace std; int dp[100][100]; int matrica[100][100]; int x, y; pair path[100][100]; int rec(int i, int j){ if((i==x-1)and(j==y-1)){ path[i][j] = make_pair(-1, -1); return(matrica[i][j]); } if(dp[i][j]!=-1){ return(dp[i][j]); } int result=0; int down = 0, right = 0; if(i+1 right) { path[i][j] = make_pair(i + 1, j); } else { path[i][j] = make_pair(i, j + 1); } dp[i][j]=result; return(result); } int main() { cin>>x>>y; for(int i=0; i>matrica[i][j]; } } for(int i=0; i i = make_pair(0, 0); i != make_pair(-1, -1); i = make_pair(path[i.first][i.second].first, path[i.first][i.second].second)) { cout << i.first + 1 << " " << i.second + 1 << endl; } }