#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
int ROWS,COLS;
typedef struct{ int x; int y;}Position;
typedef struct{// int judge[999][999];
int map[999][999];}Maze;
//修建迷宫矩阵(字符串转数组,防止将多位数识别成一位数)
void Init_Maze(Maze *m){
int i=0;
unsigned j;
char str[999];
do{
gets(str);
if(strlen(str)==0) break; for(j=0;j<strlen(str);j++)
{ m->map[i][j]=str[j]-'0'; }
i++;
ROWS=i;
COLS=j;
}while(1);
}
void Pass(Maze *m,Position enter,Position exit)
{
Position current;
current.x=enter.x;
current.y=enter.y;
//寻找路径
do
{
if(0==m>map[current.x[current.y+1]&&COLS>current.y+1)
{
printf("R");
current.y++;
}else
if(0==m->map[current.x+1][current.y]&&ROWS>current.x+1)
{
printf("D");
current.x++;
}else
if(0==m->map[current.x][current.y-1]&&0<current.y-1)
{
printf("L");
current.y--;
}else
if(0==m->map[current.x-1][current.y]&&0<current.x-1)
{
printf("U");
current.x--;
}
if(current.x==exit.x&¤t.y==exit.y) break;
}while(1);
}
int main(int argc,char*argv[])
{
Maze *m=(Maze*)malloc(sizeof(Maze));
Position enter={0,0},exit={ROWS-1,COLS-1};
Init_Maze(m);
exit.x=ROWS-1;
exit.y=COLS-1;
Pass(m,enter,exit);
return 0;
}