1002 从一开始做ACM就郁闷的一道题,在1001下面它应该觉得压力很大啊!!哈哈。。
做完八皇后,党说这个能做了。。。
嘿嘿。这题是找放置最多数目的blockhouses(碉堡。。)使之不能同行同列,除非中间有个FIRENET。。。(同行同列就打中了。。)
开始想得比较复杂,按八皇后的思想,一行一行找,效果不好,一直不对,想明白了,一行不一定就放一个,一行也不一定放啊。。。当然,不放肯定全是防火墙了。。。
照党说的,全搜得了,原来是一行一行搜的,现在是一个一个搜,如果可以放(即满足条件),就标记。。。剩下的就是普通DFS做法了。
做完很有成就感 (*^__^*) 嘻嘻…… 终于把这个拿下了 /(^o^)/

本文解决了一道ACM难题,通过改进搜索策略找到了最优解。详细介绍了如何使用深度优先搜索(DFS)来寻找放置最多数量的blockhouses(碉堡),使得它们不在同一行或同一列,除非中间有FIRENET(防火墙)。文章提供了完整的C++实现代码。
&spm=1001.2101.3001.5002&articleId=5952668&d=1&t=3&u=5af56bd6fdca49698d97a1b5f552857c)
692

被折叠的 条评论
为什么被折叠?



