結果
問題 | No.964 2020 |
ユーザー |
![]() |
提出日時 | 2020-01-13 20:54:24 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 33 ms / 2,020 ms |
コード長 | 6,727 bytes |
コンパイル時間 | 1,328 ms |
コンパイル使用メモリ | 114,352 KB |
実行使用メモリ | 24,936 KB |
最終ジャッジ日時 | 2024-12-21 17:06:04 |
合計ジャッジ時間 | 2,091 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 8 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Linq;using System.Numerics;using System.Text;namespace ProgrammingContestTemplateByDotNetCore{#region "Input and Output Classes"class Scanner : IDisposable{private readonly Queue<string> _buffer;private readonly char[] _sep;private readonly TextReader _reader;public Scanner(TextReader reader = null, char[] sep = null){_buffer = new Queue<string>();_sep = sep ?? new[] { ' ' };_reader = reader ?? Console.In;}public Scanner(string path, char[] sep = null): this(new StreamReader(path), sep) { }private void CheckBuffer(){if (_buffer.Any() || _reader.Peek() == -1)return;string str = string.Empty;for (;string.IsNullOrWhiteSpace(str);str = _reader.ReadLine()) { }var values = str.Split(_sep).Where(s => !string.IsNullOrWhiteSpace(s));foreach (var item in values){_buffer.Enqueue(item);}}public string Next(){CheckBuffer();return _buffer.Dequeue();}public string[] GetStringArray(int count)=> Enumerable.Range(0, count).Select(e => Next()).ToArray();public int NextInt() => int.Parse(Next());public int[] GetIntArray(int count)=> Enumerable.Range(0, count).Select(e => NextInt()).ToArray();public long NextLong() => long.Parse(Next());public long[] GetLongArray(int count)=> Enumerable.Range(0, count).Select(e => NextLong()).ToArray();public double NextDouble() => double.Parse(Next());public double[] GetDoubleArray(int count)=> Enumerable.Range(0, count).Select(e => NextDouble()).ToArray();public decimal NextDecimal() => decimal.Parse(Next());public decimal[] GetDecimalArray(int count)=> Enumerable.Range(0, count).Select(e => NextDecimal()).ToArray();public BigInteger NextBigInt() => BigInteger.Parse(Next());public BigInteger[] GetBigIntArray(int count)=> Enumerable.Range(0, count).Select(e => NextBigInt()).ToArray();public bool IsEnd{get{CheckBuffer();return !_buffer.Any();}}public void Dispose(){if (!_reader.Equals(Console.In))_reader.Dispose();}}class Writer : IDisposable{private readonly TextWriter _writer;private readonly StringBuilder _cache;private readonly bool _isReactive;public Writer(TextWriter writer = null, bool isReactive = false){_writer = writer ?? Console.Out;_isReactive = isReactive;if (!_isReactive)_cache = new StringBuilder();}public Writer(string path): this(new StreamWriter(path)) { }public Writer(bool isReactive): this(null, isReactive) { }public void Write(object value){if (_isReactive){_writer.Write(value);_writer.Flush();}else{_cache.Append(value);}}public void WriteFormat(string format, params object[] values){var value = string.Format(format, values);Write(value);}public void WriteLine(object value = null){Write($"{value}{Environment.NewLine}");}public void WriteLine(string format, params object[] values){WriteFormat($"{format}{Environment.NewLine}", values);}public void Dispose(){if (!_isReactive){_writer.Write(_cache);_writer.Flush();}if (!_writer.Equals(Console.Out)){_writer.Dispose();}}}public static class Extensions{public static void Set<TKey, TValue>(this IDictionary<TKey, TValue> source,TKey key, TValue value){if (source.ContainsKey(key))source[key] = value;elsesource.Add(key, value);}public static void Update<TKey, TValue>(this IDictionary<TKey, TValue> source,TKey key, Func<TValue, TValue> update){if (!source.ContainsKey(key))source.Add(key, default(TValue));source[key] = update(source[key]);}}#endregionclass MainClass : IDisposable{#region "Template"/// <summary> 入力を受け取る </summary>private readonly Scanner sc;/// <summary> 出力を行う </summary>private readonly Writer wr;private const string _inputFile = "input.txt";private const string _outFile = "output.txt";static void Main(string[] args){using (new MainClass()) { }}public MainClass(){wr = new Writer(_isReactive);// TODO: ファイルに出力したい場合はこっち → wr = new Writer(_outFile);#if DEBUG// 手元では、ファイルから入力を受け取るsc = new Scanner(_inputFile);#else// 提出時、標準入力から受け取るsc = new Scanner();#endifSolve();}public void Dispose(){sc?.Dispose();wr?.Dispose();}#endregionvoid Solve(){int N = sc.NextInt();if (N == 1){wr.WriteLine(1);return;}for (int i = N - 1; i >= 0; i--){for (int j = 0; j < N; j++){wr.Write(i);}}}/// <summary>/// TODO: リアクティブ問題か否かを指定してね♪/// </summary>private const bool _isReactive = false;}}