結果

問題 No.3001 ヘビ文字列
ユーザー titia
提出日時 2025-01-02 00:10:20
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 1,415 ms / 1,500 ms
コード長 753 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 173 ms
コンパイル使用メモリ 84,992 KB
実行使用メモリ 329,004 KB
最終ジャッジ日時 2026-06-05 17:48:12
合計ジャッジ時間 70,672 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 83
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from collections import Counter

S=input()
LEN=len(S)
C=Counter(S)
ANS=LEN
ind=-1

for a in C:
    x=C[a]

    if ANS>LEN-x:
        ANS=LEN-x
        ind=[a]

x=LEN

for t in range(2,LEN):
    if x%t==0:
        while x%t==0:
            x//=t
        dis=LEN//t

        score=0
        L=[]

        for i in range(dis):
            C=Counter()
            for j in range(t):
                C[S[j*dis+i]]+=1
            MAX=0
            indm=""

            for c in C:
                if MAX<C[c]:
                    MAX=C[c]
                    indm=c
            score+=t-MAX
            L.append(indm)

        if score<ANS:
            ANS=score
            ind=L
                
LANS=ind*(LEN//len(ind))

print("".join(LANS))
    
        
0