結果

問題 No.1694 ZerOne
ユーザー gew1fw
提出日時 2025-06-12 14:13:42
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,240 bytes
コンパイル時間 180 ms
コンパイル使用メモリ 82,796 KB
実行使用メモリ 126,036 KB
最終ジャッジ日時 2025-06-12 14:13:59
合計ジャッジ時間 4,003 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other TLE * 1 -- * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from collections import deque

def main():
    S = sys.stdin.readline().strip()
    n = len(S)
    visited = set()
    queue = deque()

    visited.add(S)
    queue.append(S)

    while queue:
        current = queue.popleft()
        list_current = list(current)

        for i in range(n):
            for j in range(i + 1, n):
                t = list_current[i:j+1]
                count_t0 = t.count('0')
                count_t1 = t.count('1')
                len_t = j - i + 1

                for k in range(j + 1, n):
                    l = k
                    r = l + len_t - 1
                    if r >= n:
                        break
                    u = list_current[l:r+1]
                    count_u0 = u.count('0')
                    count_u1 = u.count('1')

                    if count_t0 == count_u0 and count_t1 == count_u1:
                        new_current = list_current[:i] + u + list_current[j+1:l] + t + list_current[r+1:]
                        new_str = ''.join(new_current)
                        if new_str not in visited:
                            visited.add(new_str)
                            queue.append(new_str)

    print(len(visited))

if __name__ == "__main__":
    main()
0