Official
D - Pentagon Editorial
by
D - Pentagon Editorial
by
nok0
線分の長さは \(2\) 通りしかないことに着目します。
線分 \(AB\) , \(BC\), \(CD\), \(DE\), \(EA\) は短く、残りの線分は長いです。そのため、与えられた線分が短いか長いかを判定すればよいです。実装例も参考にしてください。
(補足):与えられた線分が短いことは、点が \(P\) 上で隣接していることと同値です。文字同士の引き算を用いると場合分けが減り簡単です。
実装例(C++):
#include <bits/stdc++.h>
using namespace std;
int main() {
char a, b, c, d;
cin >> a >> b >> c >> d;
auto near = [](char x, char y) {
if(x > y) swap(x, y);
return y - x == 1 or y - x == 4;
};
if(near(a, b) == near(c, d))
cout << "Yes\n";
else
cout << "No\n";
}
posted:
last update: