[C++]请各位帮看看

img

img


#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,k,a,b,p;
char s[55][55],s1,s2; 
int main(){
    cin>>n>>m>>k;
    for(i=1;i<=n;i++)//初始化 
        for(j=1;j<=m;j++)
            s[i][j]='.';
    for(i=1;i<=k;i++){
        scanf("%d%d",&a,&b);
        cin>>s1>>s2;
        for(j=a;j>0&&j<=n;j--){//判断j是否超出边界 
            for(p=b;p>0&&p<=m;p++){//判断p是否超出边界 
                if(s2==85){//U
                    s[i][j]=s1;//涂色 
                    p--;//改位置 
                }
                if(s2==68){//D
                    s[i][j]=s1;
                    p++;
                }
                if(s2==76){//L
                    s[i][j]=s1;
                    j--;
                }
                if(s2==82){//R
                    s[i][j]=s1;
                    j++;
                }
            }
        }
    }
    for(i=1;i<=n;i++)//输出 
        for(j=1;j<=m;j++)
            cout<<s[i][j];
        cout<<endl;
    return 0;
}

请指点一下,帮我AC
(为什么只能数两行数据?)