POJ 3984 静态数组队列学习应用
2016-02-24 21:32
573 查看
#include<cstdio> typedef struct name { int x; int y; int pre; }node; int maze[5][5]; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int head=0,tail=1; node r[100]; void print(int i) { if(r[i].pre!=-1) { print(r[i].pre); printf("(%d, %d)\n",r[i].x,r[i].y); } } void findroad(int i,int j) { r[head].x=i; r[head].y=j; r[head].pre=-1; while(head<tail) { for(int i=0;i<4;i++) { int a=dx[i]+r[head].x; int b=dy[i]+r[head].y; if(a<0||a>=5||b<0||b>=5||maze[a][b]) { continue; } else { maze[a][b]=1; r[tail].x=a; r[tail].y=b; r[tail].pre=head; tail++; } if(a==4&&b==4) { print(head); return ; } } head++; } } int main() { for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { scanf("%d",&maze[i][j]); } } printf("(0, 0)\n"); findroad(0,0); printf("(4, 4)\n"); return 0; }该题特别对于队列的使用没有用STL而是靠静态数组队列实现 ,值得学习。还有要注意审题仔细,避免输出格式错误,坐标x与y之间的逗号之后还要加个空格
相关文章推荐
- ngrok
- Golang(Go语言)代码技巧之字符串(string)
- Golang(Go语言)内置函数之copy用法
- 容器的随机数生成器(模板)
- [Lintcode]Recover Rotated Sorted Array Show result
- J2EE中常见易混淆概念
- thinkphp_3.1.2模板
- [maya学习笔记(11)] 结合分离提取 布尔运算
- hdu 2955 Robberies
- 高僧斗法--Staircase Nim
- Apache ab - apr_socket_recv: Connection reset by peer (104)
- UI美化概述
- 每日一练——2016.2.24
- suid seuid 当前用户ID 有效用户ID
- Uva 10891 Game of Sum
- 不同的DP方程不同的效率(2845)
- ASP.NET Core 1.0基础之日志
- 进程调度
- BP神经网络的非线性曲线拟合和预测(未完)
- ApplyPay简单测试(二)