結果

問題 No.3021 Maximize eval
ユーザー ID 21712
提出日時 2025-03-13 13:47:17
言語 Go
(1.23.4)
結果
WA  
実行時間 -
コード長 794 bytes
コンパイル時間 12,377 ms
コンパイル使用メモリ 246,352 KB
実行使用メモリ 7,920 KB
最終ジャッジ日時 2025-03-13 13:47:39
合計ジャッジ時間 20,843 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 1
other WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"

func main() {
	var t int
	Scan(&t)
	for ; t > 0 ; t-- {
		var s string
		Scan(&s)
		b := []byte(s)
		minus := false
		mustnum := true
		for i, ch := range b {
			if ch != '?' {
				switch {
					case ch == '-':
						minus = true
						mustnum = true
					case ch == '+':
						minus = false
						mustnum = true
					case minus:
						mustnum = false
				}
				continue
			}
			switch {
				case minus && mustnum:
					b[i] = '1'
					mustnum = false
				case minus && !mustnum:
					if i+1<len(b)&&(b[i+1]!='-'&&b[i+1]!='+') {
						b[i] = '+'
						minus = false
						mustnum = true
					} else {
						b[i] = '1'
					}
				case !minus && mustnum:
					b[i] = '9'
				case !minus && !mustnum:
					panic("bug?")
			}
		}
		Println(s)
		Println(string(b))
	}
}
0