私の質問のトピックが見えるかもしれませんが、私の質問を理解してください。 私は私の問題を解決するために使用していますC#のコードがあります。私はこのプログラムを実行し、テストケースの入力をコピー&ペーストするとcodechefの問題を解決する際に余分な入力を求めているConsole.ReadLine()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Chef
{
class Program
{
static void Main(string[] args)
{
int t = int.Parse(Console.ReadLine());
for (int i = 0; i < t; i++)
{
String data = Console.ReadLine();
String output = "";
if (data.Contains("C") && data.Contains("E") && data.Contains("S"))
{
if (data.LastIndexOf('C') > data.LastIndexOf('E'))
output = "no";
else if (data.LastIndexOf('E') > data.LastIndexOf('S'))
output = "no";
else
output = "yes";
}
else if (data.Contains("C") && data.Contains("E"))
{
if (data.LastIndexOf('C') > data.LastIndexOf('E'))
output = "no";
else
output = "yes";
}
else if (data.Contains("E") && data.Contains("S"))
{
if (data.LastIndexOf('E') > data.LastIndexOf('S'))
output = "no";
else
output = "yes";
}
else if (data.Contains("C") && data.Contains("S"))
{
if (data.LastIndexOf('C') > data.LastIndexOf('S'))
output = "no";
else
output = "yes";
}
else
output = "yes";
Console.WriteLine(output);
}
Console.ReadKey();
}
}
}
直接、それは1つの余分の入力を要求します。テストケースはこちら
5
CES
CS
CCC
SC
ECCC
入力を入力して実行すると、正常に動作します。私が最初に出力プログラム
を実行する画像を添付したより詳細な説明について
は、そのまま私が全体の入力を貼り付けて、それが最後のテストケースまで実行されたことを示しています。
第二の出力を示し、私は
を入力してヒットしているように私が入力を与えた後、私は何の意味もなされている場合、私は知らないが、誰もが同じことを得た場合状況が解決したら、私を助けてください。
これをトレースすると、理由がわかります。 – BugFinder
BugFinderの意味は次のとおりです。この行にブレークポイントを設定します。 'int t = int.Parse(Console.ReadLine());'。問題を再現するような方法でプログラムを実行します。 F10キーを使用して、デバッガの各行をステップ実行します。 Visual Studioでウォッチウィンドウを使用して、各ステップですべての変数を調べます。ある時点で、問題を発見します。 –
入力に「5」を入力したため、ループは5回進みます。 'String data = Console.ReadLine();'行は5回呼び出されます。プログラムが入力を5回尋ねることを意味します。 –