AtCoder が提供しているABC(AtCoder Beginner Contest)351 のA問題をC++とPythonで解いてみました。ABC351は、2024年4月27日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 The bottom of the ninth(Difficulty : 11)
問題はリンク先をご覧ください。
ABC351 A問題 The bottom of the ninth
野球に馴染んでいる人にとっては簡単な問題です。AtCoder Problems による Difficulty は 11 でした。
解答案
C++ プログラム例(ABC351A)
9回までの表の総得点 sum_a と8回までの裏の総得点 sum_b を求めます。制約により、9回裏があります。逆転勝ちをするための得点は、sum_a – sum_b + 1 となります。
以下が、C++プログラムです。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int sum_a = 0;
for (int i = 0; i < 9; ++i) {
int t;
cin >> t;
sum_a += t;
}
int sum_b = 0;
for (int i = 0; i < 8; ++i) {
int t;
cin >> t;
sum_b += t;
}
cout << sum_a - sum_b + 1 << endl;
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC351A)
基本的な考え方は同じです。Python は組込み関数を使ってすっきりと書けています。以下となります。
"""AtCoder Beginner Contest 351 A"""
a = list(map(int, input().split()))
b = list(map(int, input().split()))
print(sum(a) - sum(b) + 1)
こちらも「AC」と判定されました。
最後に
野球をまったく知らない人にとっては問題の状況を把握するために時間がかかったかもしれません。わたしは、趣味で野球漬けになっていますが、いまの若い人は、野球から距離が遠くなっている人が増えていると感じています。
引き続き ABC の問題を紹介していきます。