#include #include int main() { int n, m; scanf("%d%d", &n, &m); int mat[n][m]; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { scanf("%d", &mat[i][j]); } } int nova_matrica[(n + 2) / 2][(m + 2) / 2]; int ni = 0; int nj = 0; for(int i = 0; i < n; i += 2) { nj = 0; for(int j = 0; j < m; j += 2) { int maks_sosed = mat[i][j]; if(j + 1 < m) { // deka postoi sosedot koj e na desno od momentalnata kelija if(maks_sosed < mat[i][j + 1]) { maks_sosed = mat[i][j + 1]; } } if(i + 1 < n) { if(maks_sosed < mat[i + 1][j]) { maks_sosed = mat[i + 1][j]; } } if(i + 1 < n && j + 1 < m) { if(maks_sosed < mat[i + 1][j + 1]) { maks_sosed = mat[i + 1][j + 1]; } } nova_matrica[ni][nj] = maks_sosed; nj++; } ni++; } for(int i = 0; i < ni; i++) { for(int j = 0; j < nj; j++) { printf("%d ", nova_matrica[i][j]); } printf("\n"); } } /* 5 5 1 7 5 0 4 2 3 18 -3 5 14 0 7 5 2 3 3 4 5 6 7 0 0 1 2 *.*/