L1141(bfs思想)

一,看

1,整个方格图其实可以看做是一些不连通的图。

当然图内部必然是联通的。

2,遍历的技巧没什么。

方格图入队的技巧。。额,是这样的

int gtid(int x,int y)

{ return x*m+y-1;}

*这个函数可以把二维点对压成一维。

*解压时只需要x=id/n,y=id%n+1;

原理是》?

噢。。首先你是在bfs,得用队列。。

所以有这么一出。其实你也可以用结构体,但是它说结构体

不够优美。。

函数的全称是get_id.

3,还有骚的操作

(x-1)*m+y-1;

听说这样一个3×3的表格就是从0,1,2,3,4,5,6,7,8

这样,挺秀的。

4,它的代码结构化挺好的,看起来挺高级的

①,入队,标示区域

②,队列出元素,检查是否在地图内

③,这个判断的话,我觉得一个和标记有关,一个和区域有关

染色深入递归

二,题解

1,这个标示队列的使用方法。。queue<pair<int ,int>>q;

还是听那人的比较好,全用手写~2

2,这也太难看了把。

3,重点看的是答案从何而来。

4,bfs只是一种思想,并非必须这样。

三,写题

1,bfs只是一种枚举的思想。而非很固定的一个东西。

四,完美写一遍

1,必须每次都得不看得写一遍。

2,在于标记函数,标记是否走过

颜色函数,每几个点是否在一个联通图中,

原文地址:https://www.cnblogs.com/beiyueya/p/12005632.html