結果
| 問題 | No.1851 Regular Tiling |
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2022-03-11 04:23:55 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 585 ms / 2,000 ms |
| コード長 | 608 bytes |
| 記録 | |
| コンパイル時間 | 240 ms |
| コンパイル使用メモリ | 7,296 KB |
| 実行使用メモリ | 13,696 KB |
| 最終ジャッジ日時 | 2024-09-15 04:21:59 |
| 合計ジャッジ時間 | 5,721 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 14 |
コンパイルメッセージ
Syntax OK
ソースコード
B = [
[0, 1, 1],
[1, 2, 2],
[1, 2, 2],
]
T = gets.to_i
def build_grid(h, w)
grid = []
ly = Rational(h, 3).ceil
lx = Rational(w, 3).ceil
(ly * 3).times do |y|
row = []
(lx * 3).times do |x|
row << B[y % 3][x % 3]
end
grid << row
end
if h % 3 == 1
grid.pop(2)
elsif h % 3 == 2
grid.shift
end
if w % 3 == 1
grid = grid.map { |row| row.pop(2); row }
elsif w % 3 == 2
grid = grid.map { |row| row.shift; row }
end
grid
end
T.times do
h, w = gets.split.map(&:to_i)
grid = build_grid(h, w)
puts grid.map { |row| row.join(' ') }
end
siman