結果
問題 | No.401 数字の渦巻き |
ユーザー |
|
提出日時 | 2016-07-28 15:47:40 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 916 bytes |
コンパイル時間 | 3,595 ms |
コンパイル使用メモリ | 110,712 KB |
実行使用メモリ | 26,408 KB |
最終ジャッジ日時 | 2024-11-06 18:10:18 |
合計ジャッジ時間 | 4,741 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; public class Program { public static void Main() { int N = int.Parse(Console.ReadLine()); int[,] grid = new int[N, N]; int[,] move = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; int[] pos = {0, 0}; int moveId = 0; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { grid[i, j] = 0; } } for (int i = 1; i <= N * N; i++) { grid[pos[0], pos[1]] = i; if (pos[0] + move[moveId, 0] < 0 || N <= pos[0] + move[moveId, 0] || pos[1] + move[moveId, 1] < 0 || N <= pos[1] + move[moveId, 1] || grid[pos[0] + move[moveId, 0], pos[1] + move[moveId, 1]] > 0) { moveId = (moveId + 1) % 4; } pos[0] += move[moveId, 0]; pos[1] += move[moveId, 1]; } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { Console.Write("{0:000}", grid[j, i]); if (j < N - 1) { Console.Write(' '); } } Console.WriteLine(); } } }