ABC 096A – Day of Takahashi
自分の回答
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int count = a - 1;
if (a <= b) {
count = count + 1 ;
}
cout << count << endl;
}
まずは、a-1をします。何をしているかというと、例えば、a=3の時、つまり3月まできた時点で、1月1日、2月2日を通過しているのは確定です。しかし、3月3日はまだきているかどうか確定ではないので、aから1を引いた数は確定となります。
それに加えて、bがa以上なら、月と日の値が同じひを通過していることになるので、countに1を足して、答えとなります。
ABC 097A – Colorful Transceivers
自分の回答
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
int distans = abs(b - a) + abs(b - c);
if ((abs(a - c) <= d) || ((abs(b - a) <= d) && (abs(b - c) <= d))) {
cout << "Yes" << endl;
}else {
cout << "No" << endl;
}
}
abs関数を使いましょう。
if文にカッコが多くてわかりづらいですが、以下の二つのどちらかを満たせばいいですね。
1. aとcが直接話せるかどうかを確認する
abs(a – c) <= d
2. bを経由して、間接的に話せるかどうかを確認する。
(abs(b – a) <= d) && (abs(b – c) <= d)
ABC 098A – Add Sub Mul
自分の回答
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
vector<int> cal{a + b, a - b, a * b};
cout << *max_element(cal.begin(), cal.end()) << endl;
}
max_element関数
標準ライブラリです。
配列の最大値をイテレータを返します。なので、出力する時は*を付けます。
最小値を求めたい時はmin_elementを使います。
ABC 099A – Bichrome Cells
自分の回答
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
if (n < 1000) {
cout << "ABC" << endl;
}else {
cout << "ABD" << endl;
}
}
1000未満の時は”ABC”、1000以上の時は”ABD”を出力すればいいですね。