公式
		
			
				D - Pentagon 解説
			
			by 
		
		
		
			
		
		
			
	
			
				D - Pentagon 解説
			
			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";
}
				投稿日時:
				
				
				最終更新:
				
			
