結果
| 問題 |
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))