bool 型をうまく考える問題
問題概要
入力 が与えられる。
- = 'H' のとき:AtCodeer 君は正直者である
- = 'D' のとき:AtCodeer 君は嘘つきである
ここで、
- = 'H' のとき:「TopCoDeer 君は正直者だ」と AtCodeer 君は発言した
- = 'D' のとき:「TopCoDeer 君は嘘つきだ」と AtCodeer 君は発言した
TopCoDeer 君が正直者か嘘つきかを判定せよ。
解法
一瞬頭が混乱する。整理すると、次の表のように整理できる。
= 'H' | = 'D' | |
---|---|---|
= 'H' | 正直者 | 嘘つき |
= 'D' | 嘘つき | 正直者 |
つまり、
a == b
のとき、答えは 'H'- そうでないとき、答えは 'D'
#include <bits/stdc++.h> using namespace std; int main() { char a, b; cin >> a >> b; if (a == b) cout << "H" << endl; else cout << "D" << endl; }