p11228
  • 板块学术版
  • 楼主wanmingxing
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/12/29 15:00
  • 上次更新2024/12/29 19:20:20
查看原帖
p11228
1278346
wanmingxing楼主2024/12/29 15:00

tle和re并驾齐驱

#include <bits/stdc++.h>
using namespace std;
char a[105][105];
int cnt=1;//已经记录过初始位置
int main()
{
    int t;
    cin>>t;
    int n,m,k;
    int x,y,d;
    for(int i=1;i<=t;i++)
    {
        cin>>n>>m>>k;
        cin>>x>>y>>d;
        for(int j=1;j<=n;j++)
        {
            for(int k=1;k<=m;k++)
            {
                cin>>a[j][k];
            }
        }
        //x,y,d都是指当前位置和朝向
        while(k)//k步
        {
        	int flag=1;//记录是否走过(要不要转向)
            int xx=x,yy=y;//把原来的位置记录好,以便回溯
            if(d==0)
            {
                y=y+1;
                if(y<1 || y>m || a[x][y]=='x')
                {
                    x=xx;
                    y=yy;
                }
                else
                {
                    cnt++;
                    flag=0;
                }
            }
            if(d==1)
            {
                x=x+1;
                if(x<1 || x>n || a[x][y]=='x')
                {
                    x=xx;
                    y=yy;
                }
                else
                {
                    cnt++;
                    flag=0;
                }
            }
            if(d==2)
            {
                y=y-1;
                if(y<1 || y>m || a[x][y]=='x')
                {
                    x=xx;
                    y=yy;
                }
                else
                {
                    cnt++;
                    flag=0;
                }
            }
            if(d==3)
            {
                x=x-1;
                if(x<1 || x>n || a[x][y]=='x')
                {
                    x=xx;
                    y=yy;
                }
                else
                {
                    cnt++;
                    flag=0;
                }
            }
            if(flag==1)
            {
            	d=(d+5)%4;
			}
        }
    }
    cout<<cnt;
    return 0;
}
2024/12/29 15:00
加载中...