do_while_true

一言(ヒトコト)

「题解」Codeforces 1239D Catowice City

感觉直接 Tarjan 2-SAT 什么的还是想复杂了吧(

观察到一家要不然选人要不然选猫,枚举第一家是选人还是选猫。

假如其选了人,那么第一家人所对应的猫的家,也必须选人(因为猫不能选了)。这样继续往后推,如果所有家都被推得了选人,那么就不合法,否则剩余所有家都选猫,即构造出一组合法方案。

实现上写个 dfs 就可以了。

Code

posted @ 2021-11-04 17:38  do_while_true  阅读(25)  评论(0编辑  收藏  举报