結果
| 問題 |
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();
}
}
}