AtCoder が提供しているABC(AtCoder Beginner Contest)352 のA問題をC++とPythonで解いてみました。ABC352は、2024年5月4日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 AtCoder Line(Difficulty : 14)
問題はリンク先をご覧ください。
与えられた3つの数字の関係を問う問題です。AtCoder Problems による Difficulty は 14 でした。
解答案
C++ プログラム例(ABC352A)
「$X$ と $Y$ の間に $Z$ があるか?」という問題です。x と y は、x が小さくなるように処理しておきます(11行目)。
以下が、C++プログラムです。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, x, y, z;
cin >> n >> x >> y >> z;
bool result = false;
if (x > y) {
swap(x, y);
}
if ((x < z)&&(z < y)) {
result = true;
}
if (result) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC352A)
基本的な考え方は同じです。以下がそのプログラムです。
"""AtCoder Beginner Contest 352 A"""
n, x, y, z = map(int, input().split())
if x > y:
x, y = y, x
print("Yes" if x < z < y else "No")
こちらも「AC」と判定されました。
最後に
今回は、調子がよくE問題まで5問を解くことができました。コンテスト本番で解けると気分が良くなります。
引き続き ABC の問題を紹介していきます。