結果
| 問題 | No.52 よくある文字列の問題 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2017-09-09 18:18:52 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 32 ms / 5,000 ms | 
| コード長 | 685 bytes | 
| コンパイル時間 | 447 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 10,752 KB | 
| 最終ジャッジ日時 | 2024-09-22 05:32:31 | 
| 合計ジャッジ時間 | 1,305 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 11 | 
ソースコード
# -*- coding: utf-8 -*-
S = input()
str_dict = {}
# 0b0 ~ 0b111....1(len(S)-1桁)までの数を考える,Sを構成する文字を0は左から,1は右から文字を取る
for i in range(2**(len(S)-1)):
    bit_str = bin(i)
    copy_S = list(S)
    new_S = ''
    j = -1
    while bit_str[j] != 'b':
        if bit_str[j] == '0':
            new_S += copy_S[0]
            del(copy_S[0])
        else:
            new_S += copy_S[-1]
            del(copy_S[-1])
        j -= 1
    # 残っている分はすべて左から取って連結する
    for k in range(len(copy_S)):
        new_S += copy_S[0]
        del(copy_S[0])
    str_dict[new_S] = 1
print(len(str_dict))
            
            
            
        