結果
| 問題 | No.178 美しいWhitespace (1) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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 |
ソースコード
# 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))