二维:
#include<stdio.h>
#include<string.h>
struct l
{
int x;int y;int s;
}lp[3000];
int a[51][51],book[51][51];
int bu[4][2]={
{
0,1},{
0,-1},{
1,0},{
-1,0}};
int head,tail;
int main()
{
int m,n,startx,starty,p,q,tx,ty,flog;
while(~scanf("%d %d",&m,&n))
{
memset(a,0,sizeof a);
memset(book,0,sizeof book);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&a[i][j]);
scanf("%d %d %d %d",&startx,&starty,&p,&q);
//****
head=