AtCoder が提供しているABC(AtCoder Beginner Contest)345 のA問題をC++とPythonで解いてみました。ABC345は、2024年3月16日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 Leftrightarrow(Difficulty : 41)
問題はリンク先をご覧ください。
指定された文字列になっているか確認します。AtCoder Problems による Difficulty は 41 でした。
解答案
C++ プログラム例(ABC345A)
最初の文字(10行目)、途中の文字(13、14行目)、最後の文字(18行目)を確認します。
以下が、C++プログラムとなります。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin >> s;
bool result = true;
if (s[0] != '<') {
result = false;
}
for (int i = 1; i < s.length() - 1; ++i) {
if (s[i] != '=') {
result = false;
}
}
if (s[s.length() - 1] != '>') {
result = false;
}
if (result) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC345A)
Python 版も基本的な考え方は同じです。以下となります。
"""AtCoder Beginner Contest 345 A"""
s = input()
result = True
if s[0] != '<':
result = False
for i in range(1, len(s) - 1):
if s[i] != '=':
result = False
if s[len(s) - 1] != '>':
result = False
print("Yes" if result else "No")
こちらも「AC」と判定されました。
最後に
最近のコンテスト結果は、レートは900から1000で停滞しています。プログラミングは、楽しめていますが、レートがあがると、より楽しめるのかもしれません。
引き続き ABC の問題を紹介していきます。