結果
| 問題 | No.401 数字の渦巻き |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-06-21 13:45:08 |
| 言語 | OCaml (5.4.1) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 592 bytes |
| 記録 | |
| コンパイル時間 | 171 ms |
| コンパイル使用メモリ | 22,668 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-04-25 05:12:29 |
| 合計ジャッジ時間 | 1,465 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge3_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
Scanf.scanf "%d" (fun n ->
let mat = Array.make_matrix n n 0 in
let rec loop i x y vx vy =
if i > n * n then () else (
mat.(y).(x) <- i;
let x1 = x + vx in
let y1 = y + vy in
if x1 < 0 || x1 >= n || y1 < 0 || y1 >= n || mat.(y1).(x1) <> 0 then (
let vx, vy = -vy, vx in
loop (i + 1) (x + vx) (y + vy) vx vy
) else loop (i + 1) x1 y1 vx vy
)
in
loop 1 0 0 1 0;
Array.iter (fun v ->
Array.iter (Printf.printf "%03d ") v;
print_newline ()
) mat
)