[AtCoder]ABC 071A MealDelivery ~ 80[C++]

プログラミング

ABC 071A – Meal Delivery

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int x, a, b;
  cin >> x >> a >> b;

  if (abs(x - a) < abs(x - b)){
    cout << "A" <<endl;
  }else {
    cout << "B" <<endl;
  }
}

abs関数
絶対値を返す関数です。
整数の場合は、<cstdlib>ヘッダを、小数の場合は、<cmath>ヘッダをインクルードする必要があります。

ABC 072A – Sandglass2

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int x, t;
  cin >> x >> t;

  if (x >= t){
    cout << x - t <<endl;
  }else {
    cout << 0 <<endl;
  }
}

他の方の答えを見ると、if(x<t)としている人が多かったですね。そっちの方が処理が速いんですかね。どっちにしろ実行速度が1msなので、よくわからないですけど。
この程度なら差は出ませんが、もっと複雑になってくると、ifの条件をどっちにするかといったことも考えなければいけないのでしょうか。

ABC 073A – September 9

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string n;
  cin >> n;

  if (count(n.begin(), n.end(), '9') >= 1) {
    cout << "Yes" << endl;
  }else {
    cout << "No" << endl;
  }
}

at関数を使ったり、他にも色々な書き方ができそうです。

ABC 074A – Bichrome Cells

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int n, a;
  cin >> n >> a;

  cout << pow(n, 2) - a << endl;
}

pow関数
べき乗を求める関数です。pow(n, べき乗)という形で使います。
pow(n, 2) => nの二乗
pow(n, 3) => nの三乗
pow関数を使うためには、math.hをインクルードする必要があります。

ABC 075A – One out of Three

自分の回答

#include <bits/stdc++.h>
using namespace std;

int main() {
  int a, b, c;
  cin >> a >> b >> c;

  if (a == b){
    cout << c << endl;
  }else if (b == c){
    cout << a << endl;
  }else {
    cout << b<< endl;
  }
}

端から等しいものを確認していって、比較したもの以外の数字を出力すればいいですね。

ABC 076A – Rating Goal

自分の回答

#include <bits/stdc++.h>
using namespace std;

int main() {
  int r, g;
  cin >> r >> g;

  int x = 2 * g - r;
  cout << x << endl;
}

今回求めたい値をxとすると、g = (r + x)/2なので、x = 2g – rとなります。

ABC 077A – Rotation

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string a, b;
  cin >> a >> b;
  
  reverse(b.begin(), b.end());
  
  if (a == b){
    cout << "YES" << endl;
  }else {
    cout << "NO" << endl;
  }
}

問題を読むだけだと分かりづらいですが、要は、一行目と二行目を反転させたものが等しければ、”YES”と出力すれば良いです。

ABC 078A – HEX

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string x, y;
  cin >> x >> y;
  
  if (x > y){
    cout << ">" << endl;
  }else if (x < y){
    cout << "<" << endl;
  }else {
    cout << "=" << endl;
  }
}

???

ABC 079A – Good Integer

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string n;
  cin >> n;
  
  if (n[0] == n[1] && n[1] == n[2]){
    cout << "Yes" << endl;
  }else if (n[1] == n[2] && n[2] == n[3]){
    cout << "Yes" << endl;
  }else {
    cout << "No" << endl;
  }
}

与えられる値nは、4桁なので、”Yes”となる条件は前の3文字、または後ろの3文字が全て等しい場合です。なので、その二つの条件の時に、”Yes”とすれば良いです。

ABC 080A – Parking

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int n, a, b;
  cin >> n >> a >> b;

  if (n * a < b){
    cout << n * a <<endl;
  }else {
    cout << b <<endl;
  }
}

n✖️aとbの値を比較して、値の小さい方を出力すればいいですね。

タイトルとURLをコピーしました