結果
問題 | No.43 野球の試合 |
ユーザー |
|
提出日時 | 2015-05-06 10:31:33 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 854 bytes |
コンパイル時間 | 1,535 ms |
コンパイル使用メモリ | 167,988 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-05 19:14:52 |
合計ジャッジ時間 | 1,806 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 3 |
other | AC * 2 WA * 5 |
ソースコード
#include "bits/stdc++.h"using namespace std;typedef long long Int;#define REP(i,n) for(int (i)=0;(i)<(int)(n);++(i))int best_rank;void f(int a, int b, vector<string>& t, const int n) {if (a == n) {vector<int> win(n);REP(i, n) REP(j, n) if (t[i][j] == 'o') win[i]++;set<int> s;for (int i = 1; i < n; i++) if (win[0] > win[i]) s.insert(win[i]);int rank = s.size() + 1;if (best_rank > rank) { best_rank = rank; }return;}int na = a;int nb = b;nb++;if (nb >= n) { na++; nb = 0; }if (t[a][b] == '-') {t[a][b] = 'o';t[b][a] = 'x';f(na, nb, t, n);t[a][b] = 'x';t[b][a] = 'o';f(na, nb, t, n);t[a][b] = '-';t[b][a] = '-';}else {f(na, nb, t, n);}}int main() {int n; cin >> n;vector<string> t(n);REP(i, n) cin >> t[i];best_rank = n;f(0, 0, t, n);cout << best_rank << endl;}