[AtCoder]ABC 047A – キャンディーと2人の子供 ~ 50[C++]

プログラミング

ABC 047A – キャンディーと2人の子供

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b, c;
  cin >> a >> b >> c;
  
  vector<int> v{a,b,c};
  sort(v.begin(), v.end());
  if (v[0] + v[1] == v[2]){
    cout << "Yes" << endl;
  }
  else {
    cout << "No" << endl;
  }
}

一番大きい値と、他の2つの値を足したものが等しければ、”Yes”、それ以外は”No”を出力すれば良いです。

ABC 048A – AtCoder *** Contest

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string a, b, c;
  cin >> a >> b >> c;
  cout << "A" << b[0] << "C" << endl;
}

入力の時点で変数に振り分けて、b[0]として、頭文字を出力すればいいですね。

ABC 049A – 居合を終え、青い絵を覆う

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  string c;
  cin >> c;
  if (c == "a" || c == "i" || c == "u" || c == "e" || c == "o"){
    cout << "vowel" << endl;
  }
  else {
    cout << "consonant" << endl;
  }
}

if文で条件をつなげて書くのは綺麗じゃないですが、仕方ないですね。
rubyだと、配列を用意してinclude?を使ったりできるのですが、C++だと、他の人の回答もこのようにif文の条件を並べる方法をとっていますね。

ABC 050A – Addition and Subtraction Easy

自分の回答

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

  if (op == "+" ){
    cout << a + b << endl;
  }
  else {
    cout << a - b << endl;
  }
}

opが”+”の時はa+bをそれ以外の時(opが”-“の時)はa-bを出力すればいいですね。

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