请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 4581|回复: 4

《POJ3279 Fliptile》枚举+DFS(详解)

[复制链接]

26

主题

36

帖子

298

积分

中级会员

Rank: 3Rank: 3

积分
298
发表于 2020-1-26 13:45:06 | 显示全部楼层 |阅读模式
对于这道题:首先明确思路:
枚举第一行的所有情况,然后再dfs下面几行的情况。
为什么可以这样做?因为下一行的翻转情况都可以通过上一行的情况来决定,就比如上一行的这个是黑的,那下一行必定要翻转,因为上一行已经翻转过了,只能通过这一行的翻转来改变上一行。
其次,怎么枚举?这里我们用二进制来模拟枚举的情况。因为每个位置有翻转和不翻转两种情况,所以每个位置有2种可能,因为第一行一共有n个位置,所以情况数就是2^n次。这个时候我们就可以用二进制来模拟这些情况。
[code]#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int N = 1e7;#define rep0(i,n) for(i=0;i




上一篇:Codeforces Round #614 (Div. 2) 解题报告
下一篇:Android多个Activity共享socket,实现一个页面连接WIFI,其他页面也能传输
回复

使用道具 举报

0

主题

13

帖子

283

积分

中级会员

Rank: 3Rank: 3

积分
283
发表于 2020-1-28 16:43:15 | 显示全部楼层
感谢楼主的无私分享![www.12360.co]
回复

使用道具 举报

0

主题

10

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2020-2-6 15:34:58 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

0

主题

5

帖子

115

积分

注册会员

Rank: 2

积分
115
发表于 2020-2-9 04:06:58 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

19

主题

27

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
发表于 7 天前 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 06:24 , Processed in 0.084367 second(s), 24 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表