PCK 2015 予選:6 - 品質管理
問題
解法
愚直に処理をすると O(C * N^2) になり間に合わない.ここで,前のコースターとの差分と前のコースターが左右対称になっているかだけがこのコースターが左右対称になっているかどうかを決めると考える.
実装時のテクとして(これもまた先輩にアドバイスを頂いたが),マス目が 0, 1 だけで表されているので,あるマスが置き換わるということはそのマス目に XOR 1 (^ 1) したということと同じである.そうするとコードが短くなっていい感じになる.全体の計算量は O(C + N) になり余裕で間に合う.