https://yukicoder.me/problems/no/870
解説
https://yukicoder.me/submissions/374446
シミュレーションしていこう。
A,B,Cの駒を動かしていって、最終的に指定の座標になるかを見ればいい。
駒毎に位置を持つのではなくて、盤面全体を管理すれば、操作はswapで実装でき、
ほんのちょっと楽。
int N; char B[11][11]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(y, 1, 10) rep(x, 1, 10) B[y][x] = '.'; B[8][2] = 'A'; B[9][3] = 'B'; B[9][7] = 'C'; rep(i, 0, N) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; swap(B[y1][x1], B[y2][x2]); } if(B[8][5] == 'A' and B[8][4] == 'B' and B[8][6] == 'C') cout << "YES" << endl; else cout << "NO" << endl; }