2つの駒のマンハッタン距離に注目します。
駒が同じマスに来るのはマンハッタン距離が0である事と同値です。
操作の1を行うことでマンハッタン距離が±1変化し、次に操作2を行うことでマンハッタン距離が±1変化します。 この結果、2つの駒のマンハッタン距離の偶奇は初期状態と変わりません。
よって、マンハッタン距離が奇数の場合はマンハッタン距離を0にすることはできません。一方、偶数の場合は、適切な操作を繰り返すことでマンハッタン距離を0にすることが可能です。なぜなら、操作の組み合わせでマンハッタン距離を2ずつ減少させることができるからです。
したがって、2つの駒の初期状態のマンハッタン距離が偶数、または0であれば答えは"Yes"、奇数であれば"No"となります。
xxxxxxxxxx
using namespace std;
int main() {
int h, w;
cin >> h >> w;
int a, b, c, d;
cin >> a >> b >> c >> d;
int dist = abs(a - c) + abs(b - d);
if(dist%2 == 0){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}