AtCoder が提供しているABC(AtCoder Beginner Contest)360 A問題をC++とPythonで解いてみました。ABC360は、2024年6月30日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 A Healthy Breakfast(Difficulty : 19)
問題の詳細は、リンク先をご覧ください。
ABC360 A問題 A Healthy Breakfast
文字列から特定の文字の場所を探す問題です。AtCoder Problems による Difficulty は 19 でした。
解答案
C++ プログラム例(ABC360A)
文字 ‘R’ の場所を変数 rice に、文字 ‘M’ の場所を変数 miso に格納します。この場所の大小によって、解答を出力します。以下が、C++プログラムです。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin >> s;
int rice;
int miso;
for (int i = 0; i < s.length(); ++i) {
if (s[i] == 'R') {
rice = i;
}
if (s[i] == 'M') {
miso = i;
}
}
if (rice < miso) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC360A)
Python版も基本的な考え方は同じです。以下がプログラムです。
"""AtCoder Beginner Contest 360 A"""
s = input()
for i, ch in enumerate(s):
if ch == 'R':
rice = i
if ch == 'M':
miso = i
print("Yes" if rice < miso else "No")
こちらも「AC」と判定されました。
最後に
今回は、A問題正解者が8406人でした。前回のABC359は、10583人でしたので、かなり減っています。就職活動が落ち着いてきたなどの影響でしょうか。
引き続き ABC の問題を紹介していきます。