NOIP2013 Day2 T3 华容道
2017-07-19 21:26
309 查看
//拍60分暴力当练手了,千万别把已经输入的数据初始化了!!! #include<cstdio> #include<queue> #include<cstring> #include<iostream> using namespace std; const int xx[] = {0, 0, 1, -1}; const int yy[] = {1, -1, 0, 0}; int n, m, q; int map[33][33]; bool v[33][33][33][33]; int tx, ty; struct node{ int ex, ey, sx, sy; int step; }; queue<node> haoyu; void init(){ //memset(map, 0, sizeof(map)); memset(v, 0, sizeof(v)); while(!haoyu.empty()) haoyu.pop(); } bool judge(int ex, int ey, int sx, int sy){ if(ex < 1 || ey < 1 || ex > n || ey > m || !map[ex][ey] || !map[sx][sy]) return 0; if(v[ex][ey][sx][sy]) return 0; v[ex][ey][sx][sy] = 1; return 1; } void bfs(){ while(!haoyu.empty()){ node u = haoyu.front(); haoyu.pop(); for(int i = 0; i < 4; i++){ int nx = u.sx; int ny = u.sy; int vx = u.ex + xx[i]; int vy = u.ey + yy[i]; if(nx == vx && ny == vy) nx = u.ex, ny = u.ey; if(judge(vx, vy, nx, ny)){ haoyu.push({vx, vy, nx, ny, u.step+1}); if(nx == tx && ny == ty){ cout << u.step+1 << endl; return; } } } } cout << "-1" << endl; return; } int main(){ cin >> n >> m >> q; for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) cin >> map[i][j]; /*for(int i = 1; i <= n; i++){ for(int j = 1; j <= m; j++) cout << map[i][j] << " "; cout << endl; }*/ //cout << map[1][2] << endl; while(q--){ init(); int ex, ey, sx, sy; cin >> ex >> ey >> sx >> sy >> tx >> ty; if(sx == tx && sy == ty){ cout << "0" << endl; return 0; } haoyu.push({ex, ey, sx, sy, 0}); v[ex][ey][sx][sy] = 1; bfs(); } return 0; }
相关文章推荐
- 【NOIP 2013 DAY2 T3】 华容道(spfa)
- codevs 3290 noip 2013 Day2 T3华容道
- 一道搜索题【2013 noip提高组 DAY2 t3】华容道
- 一道搜索题【2013 noip提高组 DAY2 t3】华容道
- NOIP2013 DAY2 T3 华容道(PUZZLE) BFS+SPFA
- 【NOIP2013提高组day2】华容道
- NOIP2013提高组D2T3 华容道
- 【NOIP2013提高组day2】【JZOJ 3537】华容道
- NOIP2013提高组Day2 华容道 解题报告
- NOIP2013复赛提高组day2(A:积木大赛 B:花匠 C:华容道)
- 总结(【中山市选2014】投票 【中山市选2014】dwarf tower 【中山市选2014】图 【NOIP2013提高组day2】华容道)
- 【NOIP2013 day2】华容道 题解
- 【华容道】题解(NOIP2013提高组day2)
- 【NOIP2013提高组day2】华容道
- JZOJ3537 【NOIP2013提高组day2】华容道 暴力+压缩路径优化
- [Vijos1864]NOIP2013提高Day2华容道
- 【NOIP2013】华容道 SPFA+BFS预处理
- [NOIP2013] 提高组 洛谷P1979 华容道
- NOIP2013华容道 大爆搜
- NOIP2013 华容道 解题报告