結果
問題 |
No.3143 Colorless Green Parentheses Sleep Furiously
|
ユーザー |
![]() |
提出日時 | 2025-05-17 00:54:29 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 95 ms / 2,000 ms |
コード長 | 1,021 bytes |
コンパイル時間 | 13,017 ms |
コンパイル使用メモリ | 241,688 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-05-17 00:54:46 |
合計ジャッジ時間 | 15,920 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 49 |
ソースコード
package main import . "fmt" import . "strings" func main() { var n,k int var s string Scan(&n,&k,&s) // Xでコーナーケースの話を見てしまった // 減点 if n%2==1 { Println("No") return } if Count(s,"(")!=Count(s,")") { Println("No") return } t:=make([]byte,0,n*5) d:=make([]int,n+1) x:=0 y:=0 for i,c:=range s { if c=='(' { x++ d[x]=0 if i>0&&s[i-1]==')'{ t=append(t,'+') d[x-1]++ } t=append(t,'(') } else { x-- if x<0 { Println("No") return } if s[i-1]=='(' { t=append(t,[]byte("1+1")...) } if s[i-1]==')'&&d[x+1]==0 { t=append(t,'+','1') } t=append(t,')') if x==0 { y++ } } } if x>0 { Println("No") return } //s=ReplaceAll(s,"()","(1+1)") //s=ReplaceAll(s,")(",")+(") //for Contains(s,"))") { //s=ReplaceAll(s,"))",")+1)") //} s=string(t) z:=Count(s,"1") if z>k { Println("No") return } if z==k&&y==1 { Println("No") return } s+=Repeat("+1",k-z) Println("Yes") Println(s) }