AtCoder

ABC391 A問題(Lucky Direction)を解く

AtCoder_ABC391_A

AtCoder が提供しているABC(AtCoder Beginner Contest)391 A問題をC++とPythonで解いてみました。ABC391は、2025年2月1日21:00に実施されました。

AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。

A問題 Lucky Direction(Difficulty : 10)

問題の詳細は、リンク先をご覧ください。

ABC391 A問題 Lucky Direction

書き換える先の文字列を登録しました。AtCoder Problems による Difficulty は 10 でした。

解答案

C++ プログラム例(ABC391A)

mapコンテナを使用して、元の文字列と反対の方角を表す文字列を対応させました(10ー17行目)。最後に、対応する文字列を出力します(19行目)。

以下が、C++プログラムです。

#include <bits/stdc++.h>
using namespace std;

int main()
{
	string s;
	cin >> s;

	map<string, string> result;
	result["N"] = "S";
	result["E"] = "W";
	result["W"] = "E";
	result["S"] = "N";
	result["NE"] = "SW";
	result["NW"] = "SE";
	result["SE"] = "NW";
	result["SW"] = "NE";

	cout << result[s] << endl;

	return 0;
}

AC(Accepted=正しいプログラム)と判定されました。

Python プログラム例(ABC391A)

Python版も基本的な考え方は同じです。以下がプログラムです。

"""AtCoder Beginner Contest 391 A"""
s = input()

result = {}
result["N"] = "S"
result["E"] = "W"
result["W"] = "E"
result["S"] = "N"
result["NE"] = "SW"
result["NW"] = "SE"
result["SE"] = "NW"
result["SW"] = "NE"

print(result[s])

こちらも「AC」と判定されました。

最後に

なかなかレートは上がりませんが、ぼちぼちとプログラミングを楽しんでいます。

引き続き ABC の問題を紹介していきます。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA