結果

問題 No.43 野球の試合
コンテスト
ユーザー nbisco
提出日時 2016-05-01 22:51:44
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 220 ms / 5,000 ms
コード長 898 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 332 ms
コンパイル使用メモリ 20,700 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2026-04-20 17:16:39
合計ジャッジ時間 2,348 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#!/usr/bin/env python3
#fileencoding: utf-8

N = int(input())
table = [list(input()) for i in range(N)]
rank = 10000

def solver(a, b): 
    global N, table, rank
    if a == N:
        cnt  = [0] * N 
        used = [0] * (N+1)
        for i in range(N):
            for j in range(N):
                if table[i][j] == "o":
                    cnt[i] += 1
        k = 1 
        for i in range(1,N):
            if cnt[0] < cnt[i]:
                if used[cnt[i]] == 0:
                    k += 1
                used[cnt[i]] += 1
        rank = min(rank, k)
        return

    if b == N:
        solver(a+1, 0)
        return

    if table[a][b] != "-":
        solver(a, b+1)
        return

    table[a][b] = "o" 
    table[b][a] = "x" 
    solver(a,b+1)

    table[a][b] = "x" 
    table[b][a] = "o" 
    solver(a,b+1)

    table[a][b] = "-" 
    table[b][a] = "-" 

solver(0,0)
print(rank)
0