#include #define inf 1e9 using namespace std; typedef long long ll; int main() { //freopen("a.txt", "r", stdin); int n,m; cin >> n >> m; int matr[n][m]; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cin >> matr[i][j]; } } int a,b,p, all = n*m, dir = 0; a = 0; b = 0; p = 0; while(p < all){ switch (dir){ case 0: while((b0)){ cout << matr[a][b] << " ";matr[a][b] = 0; b++;p++; } a++; b--; dir++; break; case 1: while((a0)){ cout << matr[a][b] << " ";matr[a][b] = 0; a++;p++; } a--; b--; dir++; break; case 2: while((b>=0) && (matr[a][b]>0)){ cout << matr[a][b] << " ";matr[a][b] = 0; b--;p++; } b++; a--; dir++; break; case 3: while((a>=0) && (matr[a][b]>0)){ cout << matr[a][b] << " ";matr[a][b] = 0; a--;p++; } a++; b++; dir=0; break; } } return 0; }