#include #include #include #include #include using namespace std; #define REP(i,first,last) for (int i=first;i game_results_pattern; int main(){ cin>>n; char val; //inputを表にする REP(i,0,n){ REP(j,0,n){ cin >> val; game_results[i][j] = val; // cout<> que; que.push(game_results_pattern); while (!que.empty()) { vector q = que.front(); // for(auto it=q.begin();it!=q.end();it++) { // cout<<*it<<" "; // } // cout<::iterator it = find(q.begin(), q.end(), '-'); if (it != q.end()) { q[it - q.begin()] = 'o'; que.push(q); q[it - q.begin()] = 'x'; que.push(q); } else { // for(auto it=q.begin();it!=q.end();it++) { // cout<<*it<<" "; // } // cout< points(6); REP(i,0,n){ REP(j,i+1,n){ if (q[c] == 'o') { points[i] += 1; } else { points[j] += 1; } c++; } } win_count_0 = points[0]; // for (auto it=points.begin();it!=points.end();it++) { // cout<<*it<<" "; // } // cout<()); points.erase(unique(points.begin(), points.end()), points.end()); vector::iterator it = find(points.begin(), points.end(), win_count_0); int new_result = it - points.begin() + 1; result = (new_result < result) ? new_result : result; // for (auto it=points.begin();it!=points.end();it++) { // cout<<*it<<" "; // } // cout<