少し空間認識能力が問われるかもしれない。
問題概要
2 × 3 のグリッドが与えられる。各マスにはアルファベット文字が書かれている。
このグリッドを 180° 回転して一致するかどうかを判定せよ。
解法
入力を 2 つの文字列 S
, T
として受け取ることにしよう。このとき、
S[0] S[1] S[2] T[0] T[1] T[2]
を 180° 回転すると、次のようになる。
T[2] T[1] T[0] S[2] S[1] S[0]
これらが一致するとは、次の 3 つの条件が成り立つことを意味する。
S[0] == T[2]
S[1] == T[1]
S[2] == T[0]
あとはこれを判定すれば OK。
#include <bits/stdc++.h> using namespace std; int main() { string S, T; cin >> S >> T; if (S[0] == T[2] && S[1] == T[1] && S[2] == T[0]) cout << "YES" << endl; else cout << "NO" << endl; }