結果
問題 | No.43 野球の試合 |
ユーザー | 41Toame |
提出日時 | 2018-08-23 19:30:30 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,430 bytes |
コンパイル時間 | 1,510 ms |
コンパイル使用メモリ | 169,732 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-08 02:21:34 |
合計ジャッジ時間 | 2,064 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
5,376 KB |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | AC | 2 ms
5,376 KB |
testcase_07 | AC | 7 ms
5,376 KB |
testcase_08 | AC | 2 ms
5,376 KB |
testcase_09 | AC | 2 ms
5,376 KB |
testcase_10 | WA | - |
ソースコード
#include "bits/stdc++.h" using namespace std; #define ll long long int #define rep(i,n) for( int i = 0; i < n; i++ ) #define rrep(i,n) for( int i = n; i >= 0; i-- ) #define REP(i,s,t) for( int i = s; i <= t; i++ ) #define RREP(i,s,t) for( int i = s; i >= t; i-- ) #define dump(x) cerr << #x << " = " << (x) << endl; #define INF 2000000000 #define mod 1000000007 #define INF2 1000000000000000000 int N; char s[6][6]; int rk(char a[6][6]) { int score[N] = {}; rep(i, N) rep(j, N) if (s[i][j] == 'o') score[i]++; int tmp = score[0]; //rep(i, N) cout << score[i] << " "; //cout << endl; sort(score, score + N, greater<int>()); int rank = 1; int j = 0; while(true) { int k = score[j]; if (k == tmp) return rank; while (k == score[j]) j++; rank++; } } int ans = 6; void dfs(char a[6][6]) { int R = N; rep(i, N) { REP(j, i + 1, N - 1) { if (a[i][j] == '-') { char b[6][6]; char c[6][6]; rep(s, N) rep(t, N) b[s][t] = a[s][t]; rep(s, N) rep(t, N) c[s][t] = a[s][t]; b[i][j] = 'o'; b[j][i] = 'x'; dfs(b); c[i][j] = 'x'; c[j][i] = 'o'; dfs(c); return; } } } //rep(i, N) { // rep(j, N) { // cout << a[i][j]; // } // cout << endl; //} //cout << rk(a) << endl; ans = min(ans, rk(a)); } int main(void) { cin.tie(0); ios::sync_with_stdio(false); cin >> N; rep(i, N) rep(j, N) cin >> s[i][j]; dfs(s); cout << ans << endl; return 0; }