結果
問題 | No.3021 Maximize eval |
ユーザー |
![]() |
提出日時 | 2025-03-13 13:47:27 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 538 ms / 2,000 ms |
コード長 | 781 bytes |
コンパイル時間 | 12,671 ms |
コンパイル使用メモリ | 235,428 KB |
実行使用メモリ | 7,932 KB |
最終ジャッジ日時 | 2025-03-13 13:47:48 |
合計ジャッジ時間 | 20,531 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 15 |
ソースコード
package mainimport . "fmt"func main() {var t intScan(&t)for ; t > 0 ; t-- {var s stringScan(&s)b := []byte(s)minus := falsemustnum := truefor i, ch := range b {if ch != '?' {switch {case ch == '-':minus = truemustnum = truecase ch == '+':minus = falsemustnum = truecase minus:mustnum = false}continue}switch {case minus && mustnum:b[i] = '1'mustnum = falsecase minus && !mustnum:if i+1<len(b)&&(b[i+1]!='-'&&b[i+1]!='+') {b[i] = '+'minus = falsemustnum = true} else {b[i] = '1'}case !minus && mustnum:b[i] = '9'case !minus && !mustnum:panic("bug?")}}Println(string(b))}}