結果

問題 No.178 美しいWhitespace (1)
ユーザー nanae
提出日時 2017-01-01 06:34:57
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 36 ms / 2,000 ms
コード長 1,028 bytes
コンパイル時間 230 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-12-16 04:53:25
合計ジャッジ時間 2,220 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

# coding: utf-8
# yukicoder No.178 美しいWhitespace (1)

def is_complete(space_n, tab_n): # 完璧にできるときは必要な全角スペースの数を、そうでないときは-1を返す関数
    parity = [i % 2 for i in space_n] # スペースの数の偶奇リスト
    zspace_num = 0
    
    if parity.count(1) == len(parity) or parity.count(0) == len(parity): # 全ての行のスペースの数の偶奇が一致しているときだけ完全に出来る
        width = [a + 4 * b for (a,b) in zip(space_n, tab_n)]
        max_w = max(width)
        
        for (a,b) in zip(space_n, tab_n):
            zspace_num += (max_w - (a + 4 * b)) // 2 # 必要な全角スペースの数をカウント
        
        return zspace_num
    else: # 偶奇が一致していないときは不可
        return -1

# 入力部
N = int(input())
space_n = []
tab_n = []

for _ in range(N):
    a, b = map(int, input().split())
    space_n.append(a)
    tab_n.append(b)

# 出力部
print(is_complete(space_n, tab_n))
0