0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AtCoderログ:0050 - ABC 212 A

Last updated at Posted at 2021-08-02

問題

問題文

高橋くんは $A$ グラムの純金と $B$ グラムの純銀 $(0 \le A, B, 0 < A+B)$ をよく溶かした上で混ぜ合わせ、新たな金属を生成しました。
生成された金属は「純金」「純銀」「合金」のいずれでしょうか?
なお、生成された金属は
・$0<A$ かつ $B=0$ なら「純金」
・$A=0$ かつ $0<B$ なら「純銀」
・$0<A$ かつ $0<B$ なら「合金」
であるとみなします。

制約

・$0 \le A,B \le 100$
・$0 < A+B$
$A,B$ は整数

回答

回答1 (AC)

オリンピックにちなんだ問題ですね。問題文通りにコードにすれば良いでしょう。コードは以下のようになりました。

abc212a-1.cpp
#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b;
  cin >> a >> b;
  
  if ( 0<a && b==0 ) {
    cout << "Gold" << endl;
  } else if ( a==0 && 0<b ) {
    cout << "Silver" << endl;
  } else {
    cout << "Alloy" << endl;
  }
}

回答2 (AC)

$A=0, B=0$ はあり得ないので、$B=0$ なら「純金」、$A=0$ なら「純銀」と判別することができます。この考察を用いるとコードはちょっとだけ短くなります。

abc212a-2.cpp
#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b;
  cin >> a >> b;
  
  if ( b==0 ) {
    cout << "Gold" << endl;
  } else if ( a==0 ) {
    cout << "Silver" << endl;
  } else {
    cout << "Alloy" << endl;
  }
}

調べたこと

AtCoder の解説公式解説

回答1と同じ方針でした。

リンク

前後の記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?