AtCoder が提供しているABC(AtCoder Beginner Contest)326 のA問題をC++とPythonで解いてみました。ABC326は、2023年10月28日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 2UP3DOWN(Difficulty : 28)
問題はリンク先をご覧ください。
条件を満たすか確認します。AtCoder Problems による Difficulty は、28 でした。
解答案
C++ プログラム例(ABC326A)
移動前の $X$ 階と、移動後の $Y$ 階から差を求めます。3階までの下りか、2階までの上りであれば、”Yes” を出力します。それ以外の場合は、”No” を出力します。
以下が、C++プログラムとなります。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x, y;
cin >> x >> y;
if ((-3 <= y - x)&&(y - x <= 2)) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC326A)
Python 版も基本的な考え方は同じです。以下となります。
"""AtCoder Beginner Contest 326 A"""
x, y = map(int, input().split())
print("Yes" if -3 <= y - x <= 2 else "No")
こちらも「AC」と判定されました。
最後に
ABC326は、C問題までは解きやすく、D問題以降と難易度の壁がありました。このような場合は、C問題までをどれだけ速く解くかが、自分のレートでは問われます。
引き続き ABC の問題を紹介していきます。