結果
| 問題 |
No.3143 Colorless Green Parentheses Sleep Furiously
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 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)
}
ID 21712