ABC147 C HonestOrUnkind2
$ N \leq 15という特殊な制約に注目する. 非常に小さいのでbit全探索することを考える. 「正直者」か, 「不親切な人」かという情報をbitにもたす. そうすると正直者と仮定した人物の発言に矛盾が生じれば条件を満たさないということがわかる. よってこの問題が$ O(2^NN^2)で解けた.
実装例: https://atcoder.jp/contests/abc147/submissions/20418708