結果

問題 No.592 括弧の対応 (2)
ユーザー RyutoRyuto
提出日時 2017-12-16 15:56:25
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 504 bytes
コンパイル時間 485 ms
コンパイル使用メモリ 82,100 KB
実行使用メモリ 52,224 KB
最終ジャッジ日時 2024-05-08 14:34:56
合計ジャッジ時間 6,873 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 34 ms
52,224 KB
testcase_01 TLE -
testcase_02 -- -
testcase_03 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
S = list(input())

bras = set()
kets = set()
for i in range(N):
    if S[i] == '(':
        bras.add(i+1)
    elif S[i] == ')':
        kets.add(i+1)

ans = {}
for i in range(1, N, 2):
    tmps = set()
    for bra in bras:
        if bra+i in kets:
            kets.remove(bra+i)
            ans[bra] = bra+i
            ans[bra+i] = bra
        else:
            tmps.add(bra)
    if len(bras) == 0:
        break
    else:
        bras = tmps

for i in range(1, N+1):
    print(ans[i])
0