結果

問題 No.43 野球の試合
ユーザー rpy3cpp
提出日時 2015-08-03 21:03:41
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 124 ms / 5,000 ms
コード長 998 bytes
コンパイル時間 89 ms
コンパイル使用メモリ 12,928 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-07-18 01:09:31
合計ジャッジ時間 1,139 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

def read_data():
N = int(input())
wins = []
xs = []
for i in range(N):
oxs = input()
win = 0
for j, ox in enumerate(oxs):
if ox == 'o':
win += 1
elif ox == '-' and j > i:
xs.append((i, j))
wins.append(win)
return wins, xs
def solve(wins, xs):
n = len(xs)
min_rank = len(wins)
for bits in range(2**n):
wins_tmp = calc_wins(wins, xs, bits)
rank = calc_rank(wins_tmp)
if min_rank > rank:
min_rank = rank
return min_rank
def calc_wins(wins, xs, bits):
wins_tmp = wins[:]
for i, j in xs:
if bits & 1:
wins_tmp[i] += 1
else:
wins_tmp[j] += 1
bits >>= 1
return wins_tmp
def calc_rank(wins):
n_wins = wins[0]
wins = list(set(wins))
wins.sort(reverse=True)
return wins.index(n_wins) + 1
if __name__ == '__main__':
wins, xs = read_data()
print(solve(wins, xs))
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0