トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-060-A Shiritori
■■■問題■■■
文字列A,B,Cが与えられます。これがしりとりになっているか判定してください。
つまり、
●Aの最後の文字とBの最初の文字が同じ
●Bの最後の文字とCの最初の文字が同じ
この2つが正しいか判定してください。
両方とも正しいならばYES、そうでないならばNOを出力してください。
■■■入力■■■
A B C
●A,B,Cは全て英小文字(aからz)からなる
●1 <= |A|,|B|,|C| <= 10
●なお、|A|,|B|,|C| は文字列A,B,Cの長さを表します
■■■出力■■■
YESかNOを出力する。
C#のソース
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static string InputPattern = "Input1";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("rng gorilla apple");
//YES
//これはしりとりになっています。
}
else if (InputPattern == "Input2") {
WillReturn.Add("yakiniku unagi sushi");
//NO
//AとBはしりとりになっていますが、BとCがしりとりになっていません
}
else if (InputPattern == "Input3") {
WillReturn.Add("a a a");
//YES
}
else if (InputPattern == "Input4") {
WillReturn.Add("aaaaaaaaab aaaaaaaaaa aaaaaaaaab");
//NO
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
string[] wkArr = InputList[0].Split(' ');
string A = wkArr[0];
string B = wkArr[1];
string C = wkArr[2];
bool IsOK = true;
if (A.Last() != B[0]) IsOK = false;
if (B.Last() != C[0]) IsOK = false;
Console.WriteLine(IsOK ? "YES" : "NO");
}
}
解説
ナイーブに解いてます。