void find_path_d(int n,int mat[][MAXN],int now,int& step,int* path){ int i; for (i=n-1;i>=0;i--) while (mat[now][i]){ mat[now][i]--; find_path_d(n,mat,i,step,path); } path[step++]=now; }
void find_path_d(int n, int mp[][N], int now, int &step, int *path) { for (int i = n - 1; i >= 0; i--) { while (mp[now][i]) { mp[now][i]--; find_path_d(n, mp, i, step, path); } } path[step++] = now; }