トピック:
開発ツールは、座標計算、Aが左に移動され、Dは、右方向を表し、Wが上方へ移動表し、Sは、下方への移動を表します。点(0,0)から移動し始める、の数は、座標入力文字列内から読み出し、出力ファイル内部に最終結果の入力。
アイデア:
座標算出のために、単なるトライフル、オープン乾燥しているように、フィルタに一致する正規表現を考慮し、抽出する座標情報を前記入力文字列、理由
コードの実装:
使用してシステムを。 使ってSystem.Text.RegularExpressionsを。 使用してSystem.Collections.Genericを。 パブリック クラスのテスト { 静的な 無効メイン() { 文字列 [] STR = Console.ReadLine()スプリット(' ; ' ); 一覧 < 文字列 > coordList = 新しいリスト< 文字列 > (); 文字列パターン= "@ ^ [ASDW] \ D {1,2} \ B " 。 CoordCalculate coordCalculate = 新しいCoordCalculate(); 以下のために(int型私は= 0 ; I <str.Lengthを; I ++ ) { foreachの(マッチマッチでRegex.Matches(STR [i]は、パターン)) { Console.WriteLineを(match.Groups [ 0 ])。 coordList.Add(match.Groups [ 0 ] .ToString())。 } } Console.WriteLineを(coordCalculate.coordCal(coordList))。 } } パブリック クラスCoordCalculate { INT X = 0 。 int型 = Y 0 。 文字列 COORDS = "" ; 公共の 文字列 coordCal(一覧< 文字列 > coordlist) { foreachの(VARの COORD でcoordlist) { もし(coord.Contains(" A " )) { X - = Convert.ToInt32(coord.Substring(1 ))。 } それ以外の 場合(coord.Contains(" S " )) { Y - = Convert.ToInt32(coord.Substring(1 ))。 } それ以外の 場合(coord.Contains(" D " )) { X + = Convert.ToInt32(coord.Substring(1 ))。 } それ以外の 場合(coord.Contains(" W " )) { Y + = Convert.ToInt32(coord.Substring(1 ))。 } } COORDS = X + " " + Y。 リターンCOORDS。 } }