結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-06-21 13:45:08 |
| 言語 | OCaml (5.2.1) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 592 bytes |
| コンパイル時間 | 380 ms |
| コンパイル使用メモリ | 21,704 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-09 01:36:34 |
| 合計ジャッジ時間 | 1,382 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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
)