using System; using System.Collections.Generic; using System.Linq; class Program { static string InputPattern = "InputX"; static List GetInputList() { var WillReturn = new List(); if (InputPattern == "Input1") { WillReturn.Add("5"); WillReturn.Add("yuki2006"); WillReturn.Add("rng_58"); WillReturn.Add("sugim48"); WillReturn.Add("02/29/2016"); WillReturn.Add("D programming language version 0.99"); //yuki2007 //rng_59 //sugim49 //02/29/2017 //D programming language version 0.100 } else if (InputPattern == "Input2") { WillReturn.Add("7"); WillReturn.Add("hoge999hoge"); WillReturn.Add("73-23=49"); WillReturn.Add("O(n^2 log n)"); WillReturn.Add("hoge0003871hoge"); WillReturn.Add("00000000000000000000000"); WillReturn.Add("-0"); WillReturn.Add("piyo"); //hoge1000hoge //73-23=50 //O(n^3 log n) //hoge0003872hoge //00000000000000000000001 //-1 //piyo } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List InputList = GetInputList(); string[] SArr = InputList.Skip(1).ToArray(); foreach (string EachStr in SArr) { var NumLeftList = new List(); var NumList = new List(); var NumRightList = new List(); List CurrList = NumRightList; for (int I = EachStr.Length - 1; 0 <= I; I--) { if ('0' <= EachStr[I] && EachStr[I] <= '9') { if (CurrList == NumRightList) CurrList = NumList; } else { if (CurrList == NumList) CurrList = NumLeftList; } CurrList.Add(EachStr[I]); } ExecIncrement(NumList); NumLeftList.Reverse(); NumList.Reverse(); NumRightList.Reverse(); var wkList = new List(); wkList.AddRange(NumLeftList); wkList.AddRange(NumList); wkList.AddRange(NumRightList); var sb = new System.Text.StringBuilder(); wkList.ForEach(X => sb.Append(X)); Console.WriteLine(sb.ToString()); } } //数値をインクリメントして返す static void ExecIncrement(List pNumList) { if (pNumList.Count == 0) return; int UB = pNumList.Count - 1; pNumList[0]++; for (int I = 0; I <= UB; I++) { if (pNumList[I] <= '9') break; pNumList[I] = '0'; if (I == UB) pNumList.Add('1'); else pNumList[I + 1]++; } } }