結果
問題 | No.559 swapAB列 |
ユーザー |
![]() |
提出日時 | 2024-10-10 23:46:45 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 1,509 bytes |
コンパイル時間 | 1,059 ms |
コンパイル使用メモリ | 113,556 KB |
実行使用メモリ | 26,680 KB |
最終ジャッジ日時 | 2024-10-10 23:46:47 |
合計ジャッジ時間 | 1,908 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 |
コンパイルメッセージ
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.Generic; class Program { static string InputPattern = "InputX"; static List<string> GetInputList() { var WillReturn = new List<string>(); if (InputPattern == "Input1") { WillReturn.Add("BA"); //1 //BAを1回の操作で入れ替えてABにすることができます } else if (InputPattern == "Input2") { WillReturn.Add("B"); //0 //文字列は1文字の場合もあります。 //また、この場合文字Bはこれ以上右に行かないので右に寄っているとみなします。 } else if (InputPattern == "Input3") { WillReturn.Add("ABAABA"); //4 //「ABAABA」→「ABAAAB」→「AABAAB」→「AAABAB」→「AAAABB」。 //例えばこのような手順で最低4回の操作が必要です。 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List<string> InputList = GetInputList(); string S = InputList[0]; int Answer = 0; while (true) { int wkInd = S.IndexOf("BA"); if (wkInd == -1) break; S = S.Remove(wkInd, 2); S = S.Insert(wkInd, "AB"); Answer++; } Console.WriteLine(Answer); } }