上手に整理しよう
問題概要
下図のような のグリッドが与えられる。
2 つの整数 (
を満たす) が与えられるので、これら 2 つの整数がグリッド上で左右に隣接しているかどうかを判定せよ。
考えたこと
2 つの数字が左右に隣接するのは、次の 6 パターンしかない
これらのいずれかに該当するかどうかを調べればよい。
コード
実装量を減らすために、次の条件を確認する方針をとった
が
でないこと
であること
#include <bits/stdc++.h> using namespace std; bool isok(int A, int B) { if (A == 3 || A == 6 || A == 9) return false; return (B - A == 1); } int main() { int A, B; cin >> A >> B; if (isok(A, B)) cout << "Yes" << endl; else cout << "No" << endl; }