結果
| 問題 | No.43 野球の試合 | 
| コンテスト | |
| ユーザー |  zombietan | 
| 提出日時 | 2016-05-10 05:15:35 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 563 ms / 5,000 ms | 
| コード長 | 911 bytes | 
| コンパイル時間 | 161 ms | 
| コンパイル使用メモリ | 12,800 KB | 
| 実行使用メモリ | 17,536 KB | 
| 最終ジャッジ日時 | 2024-10-05 13:22:31 | 
| 合計ジャッジ時間 | 1,655 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 7 | 
ソースコード
import itertools
N = int(input())
S = [list(input()) for _ in range(N)]
count = 0
for s in S:
    for m in s:
        if m == '-':
            count += 1
    
rg = count//2
WL = ('o','x')
pat = []
for p in itertools.product(WL, repeat=rg):
    pat.append(list(p))
CS = [x[:] for x in S]
rup = []
for g in pat:
    wn = []
    for idx, ss in enumerate(S):
        for idxx, sss in enumerate(ss):
            if CS[idx][idxx] == '-':
                wl = g.pop()
                if wl == 'o':
                    CS[idx][idxx] = 'o'
                    CS[idxx][idx] = 'x'
                else:
                    CS[idx][idxx] = 'x'
                    CS[idxx][idx] = 'o'
    for cs in CS:
        w = cs.count('o')
        wn.append(w)
    tw = wn[0]
    swn = list(set(wn))
    wn = sorted(swn, reverse=True)
    rank = wn.index(tw) + 1
    rup.append(rank)
    CS = [x[:] for x in S]
print(min(rup))
    
            
            
            
        