結果

問題 No.345 最小チワワ問題
コンテスト
ユーザー RK-4869
提出日時 2026-03-23 11:07:14
言語 Python3
(3.14.3 + numpy 2.4.2 + scipy 1.17.0)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 106 ms / 2,000 ms
コード長 2,452 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 361 ms
コンパイル使用メモリ 20,828 KB
実行使用メモリ 15,360 KB
最終ジャッジ日時 2026-03-23 11:07:18
合計ジャッジ時間 4,451 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

# ---問題文---
# ```Cさんはチワワが大好きです。そこでCさんは、文字列にもチワワを見出すことにしました。
# Cさんによれば、ある文字列に 'c', 'w', 'w' がこの順で含まれるとき、その文字列を「チワワ列」であるといいます。
# Cさんは小さなチワワが好きなので、できるだけ長さの小さいチワワ列を見つけたいです。

# 文字列sが与えられるので、その連続した部分文字列のうちチワワ列となるものの最小の長さを求めてください。

#---出力の条件---
# 出力sの連続した部分文字列のうちチワワ列となるものの最小の長さを整数で出力してください。
# もしsにチワワ列が含まれない場合はを出力してください。
# 最後に改行してください。

#まずsがtxtファイルから標準入力できるかを試す。
s = input()

#次に長さを求めたいので、length関数を使用して出力してみる。
N = len(s)
#長さと標準出力まで書けた。
#見つけることのできるチワワの長さをlengthsとして[]で表してみる
lengths = []

#最初にcが含まれている時の条件分岐を作成してみる。
for i in range(N):
    #sの中のi番目にcが含まれていると白田
    if s[i] == "c":
        #cww_foundに関してFalse文を入れておく。
        cww_found = False
        
        #次に最初のwが含まれているか確認する。
        for j in range(i, N):
            if s[j] == "w":
                #その後に、最後のwが含まれているかを確認する。
                for k in range(j+1, N):
                    if s[k] == "w":
                        #ここまでif文でみつけられたと仮定して、チワワの長さを表しておくと
                        cww = k - i +1
                        #序盤に設定したlengthsを用いると、
                        lengths.append(cww)
                        #True文を入れてみる。
                        cww_found = True
                        #これでbreakする。
                        break
                if cww_found:
                    break

#チワワが見つからなかった場合の条件分岐が必要そう。
if len(lengths) == 0:
    print(-1)
#見つかった場合、最小値の文字列を出力指せる。
else:
    print(min(lengths))
0