結果
問題 | 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 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(string(b)) } }