結果
| 問題 |
No.345 最小チワワ問題
|
| コンテスト | |
| ユーザー |
nbisco
|
| 提出日時 | 2016-04-05 00:02:55 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,743 bytes |
| コンパイル時間 | 91 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-10-04 01:09:23 |
| 合計ジャッジ時間 | 2,040 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 3 |
| other | WA * 29 |
ソースコード
#!/usr/bin/env python3
#fileencoding: utf-8
def forward(S):
print(S)
mi = 100
count = 0
start = 0
mi_start = -1
mi_end = -1
w_cnt = 0
for idx,i in enumerate(S):
if count == 0 and i == "c":
count += 1
start = idx
elif count >= 1 and i == "w":
w_cnt += 1
count += 1
if w_cnt >= 2:
if mi > count:
mi = count
mi_start = start
mi_end = idx+1
count = 0
w_cnt = 0
else:
if count >= 1:
count += 1
else:
count = 0
return mi,mi_start,mi_end
def backward(s):
count = 0
w_cnt = 0
mi = 100
mi_start = -1
mi_end = -1
start = 0
for idx, i in enumerate(s[::-1]):
if i == "w":
count += 1
w_cnt += 1
if w_cnt == 1:
start = idx
elif w_cnt >= 2 and i == "c":
cww = True
count += 1
if mi > count:
mi = count
mi_start = start
mi_end = idx+1
count = 0
w_cnt = 0
else:
if count >= 1:
count += 1
else:
count = 0
return mi, mi_start, mi_end
S = input()
mi_f, mi_f_start, mi_f_end = forward(S)
if mi_f_start == -1:
print(-1)
else:
mi_b, mi_b_start, mi_b_end = backward(S)
l = len(S)
if mi_f > mi_b:
mi_f, mi_f_start, mi_f_end = forward(S[l-mi_b_end:l-mi_b_start+1])
print(mi_f)
else:
mi_b, mi_b_start, mi_b_end = backward(S[mi_f_start:mi_f_end])
print(mi_b)
nbisco