请问一下,这个蓝桥杯上的题我这个代码为什么不对

请问一下,这个蓝桥杯上的题我这个代码为什么不对 题号602 名称迷宫

img

#include <bits/stdc++.h>
using namespace std;
char a[35][55];
bool v[35][55]={0};//0未走 
int dx[]={1,0,0,-1};
int dy[]={0,-1,1,0}; 
char t[]={'D','L','R','U'};
struct point{
    char x;
    char y;
    string s;
};
queue<point>r;
int main()
{
  // 请在此输入您的代码
  for(int i=1;i<=30;i++)
    cin>>a[i];
    point start;
    start.x='1';
    start.y='1';
    start.s=" ";
    v[1][1]=1;
    r.push(start);
    while(!r.empty()){
        if(r.front().x==30&&r.front().y==50){
        cout<<r.front().s;
        break;
        }
        for(int i=0;i<=3;i++){
            int x=r.front().x+dx[i];
            int y=r.front().y+dy[i];
            if(x<1||y<1||x>30||y>50)continue;
            if(a[x][y]=='0'&&v[x][y]==0){
                point temp=r.front();
                temp.s+=t[i];
                r.push(temp);
                v[x][y]=1;
            }
            r.pop();
        }
    }
  return 0;
}

bool v[35][55]={0};//0未走
这样写,只有第一个元素是0,其余的还是随机值
需要用 memset 清空下。