結果
問題 | No.565 回転拡大 |
ユーザー |
![]() |
提出日時 | 2017-09-08 22:52:19 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 92 ms / 2,000 ms |
コード長 | 702 bytes |
コンパイル時間 | 154 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-11-07 06:33:10 |
合計ジャッジ時間 | 4,228 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
コンパイルメッセージ
Syntax OK
ソースコード
$i = $<.read.split while !$i.empty? do r, k, h, w = $i.shift(4).map(&:to_i) g = $i.shift(h).map { |l| l.split("") } if h < w while g.size < w g << ["*"] * w end h = w else while g[0].size < h h.times do |i| g[i] << "*" end end w = h end (r / 90).times do g = g.transpose h.times do |i| g[i].reverse! end end ans = Array.new(h*k) { Array.new(w*k, '.') } h.times do |i| w.times do |j| k.times do |ii| k.times do |jj| ans[i*k + ii][j*k + jj] = g[i][j] end end end end ans.each do |row| row.delete("*") if row.size > 0 puts row.join end end end