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("NE"); //1.41421 //問題文の例と同じです } else if (InputPattern == "Input2") { WillReturn.Add("EN"); //1.41421 //東に1メートル歩いたのち北に1メートル歩きます。 //結局サンプル1と同じ位置にいることになるので //答えはサンプル1と同じです。 } else if (InputPattern == "Input3") { WillReturn.Add("SSSSWWW"); //5 //最終的に南に4メートル、西に3メートルの地点に移動します。 //よって、ルート(4*4 + 3*3)=5メートルとなります。 } else if (InputPattern == "Input4") { WillReturn.Add("ESSSSEWENWNNEWWEESSS"); //4.47214 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List InputList = GetInputList(); string S = InputList[0]; double HeniX = 0, HeniY = 0; HeniX += S.Count(A => A == 'E'); HeniX -= S.Count(A => A == 'W'); HeniY += S.Count(A => A == 'S'); HeniY -= S.Count(A => A == 'N'); Console.WriteLine(Math.Sqrt(HeniX * HeniX + HeniY * HeniY)); } }