一、题目
二、解题思路
1.这道题是真的坑,题目描述是错的。有三处错误:(1)输入数据中存在除数字以外的无用字符串;(2)当删除一头牛可以变安全时,不需要输出1;(3)不是输出编号最小的牛,而是按序输出所有满足要求的奶牛。
2.看题目一定要认真,刚开始我把这道题想的复杂了,以为奶牛每次都可以向北或者向东,那样每头奶牛的路线很多,需要深搜,但实际上,这道题奶牛只有两条路线,一路向北或者向东。
3.问题的规模很小,用暴力也可以解决。这里提供一个非暴力的思路:首先查看所有的奶牛是否可以安全逃离,如果不能逃离的,需要记录是哪头牛阻碍了它的去路;在查看逃离情况时,我们需要记录该条路上的障碍数,当某条路上障碍数大于等于2时,说明在删除一头牛时,这条路一定是不通的,那就没必要记录这条路上的障碍,反之,当障碍数为1时,我们需要记录这个障碍,因为它是潜在解,除此之外,我们还可以通过删除无法安全逃离的牛达到让图安全的目的;当我们得到所有潜在解后,只需要遍历一次,得到每个潜在解阻碍了多少头牛无法安全逃离即可&