ジャンケンの問題。何気に将来非常によく出てくる構造を問う問題でもある。
問題概要
3 人でジャンケンをしたらあいこになった。3 人のうちの 2 人の出した手がわかっている。残り 1 人の手を答えよ。
なお、0 はグー、1 はチョキ、2 はパーを表す。
解法
0, 1, 2 のいずれかであるような 3 つの数 が
- がすべて互いに相異なる
という条件を満たすとき、2 つの値が決まれば残り 1 つが自動的に決まる。この考え方、より難しい問題で結構出てくる。
ここでは、素直に考えよう。
- のとき、もう 1 人の手もそれらと同じなので を答えればよい。
- そうでないとき、3 人の出した手を集めると 0, 1, 2 になるので、 を答えればよい。
#include <bits/stdc++.h> using namespace std; int main() { int x, y; cin >> x >> y; if (x == y) cout << x << endl; else cout << 3 - (x + y) << endl; }