結果
問題 | No.43 野球の試合 |
ユーザー |
![]() |
提出日時 | 2014-10-20 02:26:47 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 107 ms / 5,000 ms |
コード長 | 1,135 bytes |
コンパイル時間 | 662 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-12-30 10:14:09 |
合計ジャッジ時間 | 1,685 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 7 |
ソースコード
def dfs(depth):if depth == len(yet_coor):count = 0k_win = win_count[0] + w_list[0]pre_list = []for i, j in list(zip(win_count, w_list))[1:]:if k_win < i + j and i + j not in pre_list:count += 1pre_list.append(i + j)return count + 1r, c = yet_coor[depth]w_list[r] += 1tmp_rank = dfs(depth + 1)w_list[r] -= 1w_list[c] += 1tmp_rank = min(tmp_rank, dfs(depth + 1))w_list[c] -= 1return tmp_rankn = int(input())table = [input() for i in range(n)]win_count = []yet_coor = []for i, row in enumerate(table):win = 0# print(i, row)for j, cell in enumerate(row):if cell == 'o':win += 1# if i >= j:# if cell == 'o':# win += 1# elif i == 0 and cell == '-':# win += 1# table[j][i] = 'x'if i < j:if cell == '-':yet_coor.append([i, j])win_count.append(win)w_list = [0] * n# print(yet_coor)print(dfs(0))