10.21 连通块 2415
来源:互联网 发布:填色软件 编辑:程序博客网 时间:2024/05/22 06:53
- 题目
- 题解
- 代码
题目
题解
很容易可以想到对于一个放入的棋子,只要通过判断它上下左右有无棋子块就可得出它将哪几个连通块连了起来。
但是有一种情况我没想到,如下图:
放入的棋子上、左都有棋子,可是上、左的棋子处于同一连通块中,按照原来的判断方法,这一连通块将被重复计算,因此我需要题解。
题解中用深搜把整个连通块都标记,这样连通块就不会被重复了
代码
const dx:array[1..4]of integer=(0,0,-1,1); dy:array[1..4]of integer=(1,-1,0,0);var n,m,i,j,c,x,y,k,s:longint; a,b:array[0..501,0..501]of longint;function find(x,y,c,p:longint):boolean;var i,d:longint;begin if (x<=0)or(y<=0)or(x>n)or(y>n)or(b[x,y]=p)or(a[x,y]<>c) then exit(false); b[x,y]:=p;d:=0; for i:=1 to 4 do if find(x+dx[i],y+dy[i],c,p) then d:=1; exit(true);end;begin readln(n,m); for i:=1 to m do begin readln(c,x,y); inc(k); for j:=1 to 4 do if find(x+dx[j],y+dy[j],c+1,i) then dec(k); a[x,y]:=c+1;b[x,y]:=i; writeln(k); end;end.
阅读全文
0 0
- 10.21 连通块 2415
- 连通块
- UVA572dfs连通块
- hdu1241(dfs连通块)
- dfs连通块2
- POJ2386 求连通块
- UVa_Oil Deposits(连通块)
- [BZOJ3399]连通块计数
- cf723D 连通块
- poj2386 深搜 连通块问题
- 图 dfs遍历连通块
- UVA 11853(找连通块)
- 用DFS求连通块
- 用DFS求连通块
- 【NOIP2013中秋节模拟】连通块
- JZOJ 3453. 连通块(connect)
- uva572 油田 连通块遍历
- poj1562 DFS/BFS连通块
- 电子邮件也可作为呈堂证供:阿里云邮箱以区块链加持电子存证
- 三星宣布10nm工艺量产,台积电和英特尔还在追赶的路上
- 2016 云栖大会 | 阿里云唐洪:飞天,向世界要一个答案
- HDOJ3101 LA4226 The Heart of the Country 简单模拟
- android 图片加载库 Glide 的使用过程中出现的问题
- 10.21 连通块 2415
- 51nod 1495 中国好区间【2-pointers】
- 边双联通分量小结+模板
- 取代液晶电视,客厅大屏新霸主,坚果S1激光电视
- OPPO R9s将采用全新微缝天线设计,已开启预约
- 2016 双创周 | 一叶知秋,医疗创业都有哪些新趋势?
- FLYPRO飞豹无人机推出全球无人机比赛双倍奖金计划
- 坚果P2荣获中国制造之美奖 一改中国制造廉价低质成见
- bzoj 5071: [Lydsy十月月赛]小A的数字 乱搞