結果

問題 No.3021 Maximize eval
ユーザー D M
提出日時 2025-02-19 11:20:25
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 126 ms / 2,000 ms
コード長 2,408 bytes
コンパイル時間 621 ms
コンパイル使用メモリ 82,776 KB
実行使用メモリ 111,000 KB
最終ジャッジ日時 2025-02-19 11:20:38
合計ジャッジ時間 4,020 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 15
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import sys
input = sys.stdin.readline
def solve():
T = int(input().strip())
for _ in range(T):
S = input().strip()
n = len(S)
res = []
# last_was_op: True
last_was_op = True #
# cur_sign: + 1, - -1
cur_sign = 1
for i, c in enumerate(S):
if c != '?':
res.append(c)
if c == '+' or c == '-':
last_was_op = True
cur_sign = 1 if c == '+' else -1
else:
last_was_op = False
else:
# c == '?'
if last_was_op:
#
if cur_sign == 1:
res.append('9')
else:
res.append('1')
last_was_op = False
else:
#
if i == n - 1:
#
res.append('9' if cur_sign == 1 else '1')
last_was_op = False
else:
if cur_sign == 1:
#
res.append('9')
last_was_op = False
else:
#
next_char = S[i+1]
if next_char in '+-':
# ()
res.append('1')
last_was_op = False
else:
# '+'
res.append('+')
last_was_op = True
cur_sign = 1
sys.stdout.write("".join(res) + "\n")
if __name__ == '__main__':
solve()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0