求助

P1162 填涂颜色

测试样例表示TLE,测了一下是while循环出不来,可为什么while变成了死循环呢
by 青苹果 @ 2020-01-31 17:48:19


~~显然死循环是常见问题~~
by 听取MLE声一片 @ 2020-01-31 17:55:21


@[青苹果](/user/118279)
by 听取MLE声一片 @ 2020-01-31 17:55:39


1.把queue移到struct后面
by 听取MLE声一片 @ 2020-01-31 17:56:02


2.检查边界判断
by 听取MLE声一片 @ 2020-01-31 17:57:24


这是我的bfs
by 听取MLE声一片 @ 2020-01-31 17:57:56


```cpp struct point{ int x,y; point(int xx,int yy){ x=xx; y=yy; } }; int a[32][32]; int book[32][32],don[4][2]={{-1,0},{1,0},{0,-1},{0,1}},n; int i,j,k,tx,ty; queue<point> q; void bfs(){ while(!q.empty()){ point p=q.front(); q.pop(); for(k=0;k<4;k++){ tx=p.x+don[k][0]; ty=p.y+don[k][1]; if(tx<0||tx>=n+2||ty<0||ty>=n+2) continue; if(a[tx][ty]==0&&book[tx][ty]==0){ a[tx][ty]=2; book[tx][ty]=1; point point1(tx,ty); q.push(point1); } } } } ```
by 听取MLE声一片 @ 2020-01-31 17:58:13


@[青苹果](/user/118279)
by 听取MLE声一片 @ 2020-01-31 17:58:22


@[听取mc声一片](/user/253738) 试了一下,还是TLE/(ㄒoㄒ)/~~
by 青苹果 @ 2020-01-31 17:59:16


你看一下我的
by 听取MLE声一片 @ 2020-01-31 18:00:21


| 下一页