#include #include using namespace std; int n; char table[6][6] = {}; int ans = 7; void solve(char T[6][6]){ char TT[6][6]; bool found = false; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ if(T[i][j] == '-'){ found = true; for(int i = 0; i < 6; i++){ for(int j = 0; j < 6; j++){ TT[i][j] = T[i][j]; } } TT[i][j] = 'o'; TT[j][i] = 'x'; solve(TT); TT[i][j] = 'x'; TT[j][i] = 'o'; solve(TT); } } } if(!found){ int zero = 0; for(int j = 0; j < n; j++) if(T[0][j] == 'o') zero++; set score; score.insert(zero); for(int i = 1; i < n; i++){ int tmp = 0; for(int j = 0; j < n; j++) if(T[i][j] == 'o') tmp++; score.insert(tmp); } int pos = 1; for(set::reverse_iterator it = score.rbegin(); it != score.rend(); it++){ if(*it == zero){ ans = min(ans, pos); break; } pos++; } } } int main(){ cin >> n; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ cin >> table[i][j]; } } solve(table); cout << ans << endl; return 0; }