結果
問題 |
No.3143 Colorless Green Parentheses Sleep Furiously
|
ユーザー |
|
提出日時 | 2025-05-16 21:42:22 |
言語 | Ruby (3.4.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 755 bytes |
コンパイル時間 | 812 ms |
コンパイル使用メモリ | 7,972 KB |
実行使用メモリ | 18,360 KB |
最終ジャッジ日時 | 2025-05-17 00:23:36 |
合計ジャッジ時間 | 8,912 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 48 RE * 1 |
コンパイルメッセージ
Syntax OK
ソースコード
N, K = gets.split.map(&:to_i) S = gets.chomp stack = [] current = [] level = 0 S.each_char do |c| case c when ?( level += 1 stack << current inner = [] current << inner current = inner when ?) level -= 1 if level < 0 puts "No" exit end current = stack.pop end end if level != 0 puts "No" exit end def dfs(ans, current) min = 0 case current.size when 0 ans << "1+1" min += 2 when 1 ans << "(" min += dfs(ans, current[0]) ans << ")+1" min += 1 else ans << "(" min += dfs(ans, current[0]) current[1 ..].each do |inner| ans << ")+(" min += dfs(ans, inner) end ans << ")" end min end ans = "" min = dfs(ans, current) if min > K puts "No" exit end puts "Yes" ans << "+1" * (K - min) puts ans