[AtCoder]ABC 093A – abc of ABC ~ 95[C++]

プログラミング

ABC 093A – abc of ABC

自分の回答

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

  if ((count(s.begin(), s.end(), 'a') == 1) 
      && (count(s.begin(), s.end(), 'b') == 1)
      && (count(s.begin(), s.end(), 'c') == 1)) {
    cout << "Yes" << endl;
  }else {
    cout << "No" << endl;
  }
}

count関数を使って、a,b,cが文字列に1個だけ含まれる時に”Yes”を出力すればいいですね。

ABC 094A – Cats and Dogs

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b, x;
  cin >> a >> b >> x;
  // a: cat, b:dog or cat
 
  if ((x <= a + b - 1) && (x >= a)) {
    cout << "YES" << endl;
  }else {
    cout << "NO" << endl;
  }
}

if文で考慮しなければいけない条件は2つあります。

1. x <= a + b – 1
猫と犬の数を足した、全体の動物の数(a+b)から1を引いたものが、xよりも大きいかを確認します。1を引いているのは、制約でb>1、つまり少なくとも犬は一匹いるので、全体から、1を引いた数が猫の数としてとりうる値となります。
そもそも、右辺よりxが大きい時は、全体の数より、猫の数が多いということなので、成り立つことはありません。

2. x >= a
猫かとりうる数xが、猫の数aよりも大きいかを確認します。
例えば、猫の数aが5匹と確定しているのに、猫の数xが3になることはあり得ませんよね。なので、xはa以上である必要があります。なので、そういった場合を除外しています。

ABC 095A – Something on It

自分の回答

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

  int topping  = count(s.begin(), s.end(), 'o');

  cout << 700 + 100 * topping << endl;
}

count関数を使って、oの数を数えて、変数toppingに代入しています。最後にラーメンの値段700にトッピング料(100✖️topping)を足せば良いですね。

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