#include #include #include int N; char result[6][6]; int win[6], all[6], rank[6]; int updateRank(){ std::vector v(win, win+N); std::sort(v.begin(), v.end()); v.erase(std::unique(v.begin(), v.end()), v.end()); for(int i=0;i= rank[0]){continue;} for(int j=1;j0;rest--){ int mn = -1; for(int i=0;i<6;i++){ if(all[i] < N-1 && (mn == -1 || win[i] < mn)){ mn = i; } } int mx = -1; for(int i=0;i<6;i++){ if(result[mn][i] == '-' && (mx == -1 || win[i] > mx)){ mx = i; } } win[mn] += 1; all[mn] += 1; all[mx] += 1; result[mn][mx] = 'o'; result[mx][mn] = 'x'; } updateRank(); printf("%d\n", rank[0]); }