結果

問題 No.401 数字の渦巻き
ユーザー YoshiRyu
提出日時 2016-09-01 15:50:25
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 22 ms / 2,000 ms
コード長 3,282 bytes
コンパイル時間 2,953 ms
コンパイル使用メモリ 106,624 KB
実行使用メモリ 17,792 KB
最終ジャッジ日時 2024-11-15 16:44:45
合計ジャッジ時間 4,208 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
プレゼンテーションモードにする

using System;
using System.Collections.Generic;
using System.IO;
public class Test
{
public static void Solve()
{
int N = MyConsole.Int();
int[,] ans = new int[N, N];
int Row = 0;
int Col = 0;
int Step = N;
int OutputCounter = 1;
//
while (OutputCounter <= N)
{
ans[Row, Col] = OutputCounter++;
Col++;
}
Col--;
bool ptrSwitch = true;
//
while (Step-- > 0)
{
int cnt = 0;
if (ptrSwitch == true)
{
// ↓
for ( ; cnt < Step ; cnt++)
{
Row++;
ans[Row, Col] = OutputCounter++;
}
// ←
for (cnt = 0 ; cnt < Step ; cnt++)
{
Col--;
ans[Row, Col] = OutputCounter++;
}
}
else
{
// ↑
for ( ; cnt < Step ; cnt++)
{
Row--;
ans[Row, Col] = OutputCounter++;
}
// →
for (cnt = 0 ; cnt < Step ; cnt++)
{
Col++;
ans[Row, Col] = OutputCounter++;
}
}
//
ptrSwitch = !ptrSwitch;
}
//
for (Row = 0 ; Row < N ; Row++)
{
for (Col = 0 ; Col < N - 1 ; Col++)
Console.Write( "{0:D3} ", ans[Row, Col] ); //
Console.WriteLine( "{0:D3}", ans[Row, Col] ); //
}
}
public static void Main()
{
MyConsole.Read(); Solve(); MyConsole.Finish();
}
}
public static class MyConsole
{
private static List<string> ReadedLine = new List<string>();
private static char[] buf = new char[1024];
private static int i;
public static void Read()
{
TextReader sr = Console.In;
int Len = sr.Read( buf, 0, 1024 );
var Line = string.Empty;
for (int i = 0 ; i < Len ; i++)
{
if (buf[i] >= 33 && buf[i] <= 126)
{
Line += buf[i];
}
else if (Line.Length > 0)
{
ReadedLine.Add( Line );
Line = string.Empty;
}
}
if (Line.Length > 0) ReadedLine.Add( Line );
Console.SetOut( new StreamWriter( Console.OpenStandardOutput() ) { AutoFlush = false } );
}
public static string String() { return ReadedLine[i++]; }
public static int Int() { return int.Parse( ReadedLine[i++] ); }
public static long Long() { return long.Parse( ReadedLine[i++] ); }
public static double Double() { return double.Parse( ReadedLine[i++] ); }
public static void wLine( string output = null )
{
Console.WriteLine( output );
}
public static void Finish()
{
Console.Out.Flush();
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0