結果
| 問題 |
No.942 プレゼント配り
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2022-02-17 02:14:40 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 867 bytes |
| コンパイル時間 | 76 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 20,608 KB |
| 最終ジャッジ日時 | 2024-06-29 07:25:33 |
| 合計ジャッジ時間 | 4,473 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 14 WA * 4 |
コンパイルメッセージ
Main.rb:57: warning: assigned but unused variable - nums Syntax OK
ソースコード
N, K = gets.split.map(&:to_i)
if K == 1
puts 'Yes'
puts [*1..N].join(' ')
exit
end
if N % K != 0
puts 'No'
exit
end
S = N * (1 + N) / 2
M = N / K
if S % K != 0
puts 'No'
exit
end
if N % 2 == 0 && M % 2 != 0
puts 'No'
exit
end
if M == 1
puts 'No'
exit
end
1.upto(N) do |n|
end
presents = [*1..N].each_slice(K).to_a
puts 'Yes'
ans = Array.new(K) { [] }
from = 0
if M % 2 != 0
presents[2].reverse_each.with_index do |n, i|
ans[i] << n
end
K.times do |i|
ans[i] << (2 * i) % K + 1
end
K.times do |i|
ans[i] << 24 - ans[i].sum
end
from = 3
end
from.upto(M - 1) do |idx|
nums = presents[idx]
if idx % 2 == 0
0.upto(K - 1) do |k|
ans[k] << presents[idx].shift
end
else
0.upto(K - 1) do |k|
ans[k] << presents[idx].pop
end
end
end
ans.each do |nums|
puts nums.join(' ')
end
siman