結果
問題 | No.539 インクリメント |
ユーザー |
![]() |
提出日時 | 2017-07-10 21:11:03 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 427 ms / 2,000 ms |
コード長 | 3,684 bytes |
コンパイル時間 | 2,313 ms |
コンパイル使用メモリ | 114,640 KB |
実行使用メモリ | 39,168 KB |
最終ジャッジ日時 | 2024-10-07 07:10:27 |
合計ジャッジ時間 | 2,562 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 3 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
#pragma warning disable IDE1006#pragma warning disable IDE0011using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Numerics;using System.Text;using static System.Convert;using static System.Math;using static Extentions;class IO{int idx;string[] line;public void R(params char[] sep) { line = Console.ReadLine().Split(sep); idx = 0; }public string S => line[idx++];public string[] Ss => line.Skip(idx++).ToArray();public char C => char.Parse(line[idx++]);public char[] Cs => line.Skip(idx++).Select(char.Parse).ToArray();public int I => int.Parse(line[idx++]);public int[] Is => line.Skip(idx++).Select(int.Parse).ToArray();public long L => long.Parse(line[idx++]);public long[] Ls => line.Skip(idx++).Select(long.Parse).ToArray();public double F => double.Parse(line[idx++]);public double[] Fs => line.Skip(idx++).Select(double.Parse).ToArray();public decimal D => decimal.Parse(line[idx++]);public decimal[] Ds => line.Skip(idx++).Select(decimal.Parse).ToArray();public BigInteger B => BigInteger.Parse(line[idx++]);public BigInteger[] Bs => line.Skip(idx++).Select(BigInteger.Parse).ToArray();public void Write<T>(params T[] xs){Console.Write(xs.First());foreach (var x in xs.Skip(1)) Console.Write(" " + x);Console.WriteLine();}public void Write(params object[] xs){Console.Write(xs.First());foreach (var x in xs.Skip(1)) Console.Write(" " + x);Console.WriteLine();}}static class Extentions{public static string CreateString(this IEnumerable<char> seq){return new string(seq.ToArray());}}static class Program{public static void Main(){#if !DEBUGConsole.SetOut(new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false });#endifSolve(new IO());Console.Out.Flush();}public static void Solve(IO io){io.R();var t = io.I;for (var i = 0; i < t; i++){var s = Console.ReadLine();if (s.All(char.IsLetter)){io.Write(s);continue;}var fi = 0;var ti = -1;var ds = new Queue<char>();for (var j = s.Length - 1; j >= 0; j--){if (char.IsDigit(s[j])){if (ti == -1) ti = j;ds.Enqueue(s[j]);}else if (ds.Count > 0){fi = j + 1;break;}}Console.Write(s.Remove(fi));if (ds.All(c => c == '9')){Console.Write('1');Console.Write(Enumerable.Repeat('0', ds.Count).CreateString());goto fin;}var stack = new Stack<char>();var carried = false;for (var j = 0; ds.Any(); j++){var d = ds.Dequeue();if (j == 0) d++;if (carried) d++;if (d > '9'){stack.Push('0');carried = true;}else{stack.Push(d);carried = false;}}while (stack.Any()){Console.Write(stack.Pop());}fin:io.Write(s.Substring(ti + 1));}}}