#include #include #include #include #include #include #include #include #include using namespace std; struct bla{ int val; int sumX; int sumY; }; void func(int poc) { bla ** tab = new bla * [poc]; for (int i = 0; i < poc; i++){ tab[i] = new bla[poc]; for ( int j = 0; j < poc; j++){ tab[i][j].val = getchar(); tab[i][j].sumX = tab[i][j].val+(i > 0 ? tab[i-1][j].sumX : 0); tab[i][j].sumY = tab[i][j].val+(j > 0 ? tab[i][j-1].sumY : 0); } getchar(); } int valid = 0; if (tab[poc-1][0].sumX == tab[poc-1][1].sumX){ valid = tab[poc-1][0].sumX; } else if (tab[poc-1][0].sumX == tab[poc-1][2].sumX) valid = tab[poc-1][0].sumX; else valid = tab[poc-1][1].sumX; int bad_x, bad_y = bad_x = 0; for ( int i = 0; i < poc; i ++){ if ( tab[poc-1][i].sumX != valid) { bad_x = i; break; } } for ( int i = 0; i < poc; i ++){ if ( tab[i][poc-1].sumY != valid) { bad_y = i; break; } } cout<> poc) { getchar(); func(poc); } return 0; }