結果
問題 | No.539 インクリメント |
ユーザー |
![]() |
提出日時 | 2021-05-11 10:38:46 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,013 bytes |
コンパイル時間 | 758 ms |
コンパイル使用メモリ | 105,216 KB |
実行使用メモリ | 33,664 KB |
最終ジャッジ日時 | 2024-09-21 16:01:46 |
合計ジャッジ時間 | 2,229 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 2 WA * 1 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; public class Hello { static void Main() { var T = int.Parse(Console.ReadLine().Trim()); while (T-- > 0) { var s = Console.ReadLine().Trim(); getAns(s); } } static string plus1(string s) { if (s == "") return ""; var sL = s.Length; var sa = s.ToCharArray(); var kup = false; var up = false; var w = sa[sL - 1] - '0' + 1; if (w <= 9) return s.Substring(0, sL - 1) + w.ToString(); else { up = true; sa[sL - 1] = '0'; var p = sL - 2; while (p >= 0) { w = up ? sa[p] - '0' + 1 : sa[p] - '0'; if (w <= 9) { sa[p] = w.ToString()[0]; break; } else { sa[p] = '0'; if (p == 0) kup = true; } p--; } var w2 = kup ? "1" + new string(sa) : new string(sa); return w2; } } static bool checkNum(char t) { var t2 = t - '0'; return t2 >= 0 && t2 <= 9; } static void getAns(string s) { var sL = s.Length; var p = sL - 1; var ep = -1; while (p >= 0) { if (checkNum(s[p])) { ep = p; p--; break; } p--; } var sp = ep; while (p >= 0) { if (checkNum(s[p])) { sp = p; } else break; p--; } if (sp == -1) Console.WriteLine(s); else { var w = s.Substring(sp, ep - sp + 1); var a2 = plus1(w); string a1; if (sp == 0) a1 = ""; else a1 = s.Substring(0, sp); string a3; if (ep == sL - 1) a3 = ""; else a3 = s.Substring(ep + 1); Console.Write(a1); Console.Write(a2); Console.WriteLine(a3); } } }