1 solutions

  • 0
    @ 2026-7-16 21:04:07
    #include<bits/stdc++.h>
    using namespace std;
    int dx[]={0,1,0,-1};
    int dy[]={1,0,-1,0};
    const int N=1010;
    char g[N][N];
    bool st[N][N]; 
    int main()
    {
    	int t;
    	cin>>t;
    	while(t--)
    	{
    		memset(st,0,sizeof st); 
    		int n,m,k;
    		int x,y,d;
    		cin>>n>>m>>k>>x>>y>>d;
    		for(int i=1;i<=n;i++)
    		{
    			for(int j=1;j<=m;j++)
    			{
    				cin>>g[i][j];
    			}
    		}
    		int cnt=0;
    	//	g[x][y]='x';
    		for(int i=1;i<=k+1;i++)
    		{
    			if(st[x][y]==0) cnt++;
    			st[x][y]=1;
    			//cout<<x<<" "<<y<<" "<<d<<" "<<cnt<<endl; 
    			int a=x+dx[d],b=y+dy[d];
    			if(a<1||a>n||b<1||b>m||g[a][b]=='x') 
    			{
    				d++;
    				if(d==4) d=0;
    				continue;
    				//a=x+dx[d],b=y+dy[d];
    			}
    		//	cnt++; 
    			//g[a][b]='x';
    			x=a,y=b;
    		}
    		cout<<cnt<<endl; 
    	}
    	return 0;
    }
    
    
    • 1

    Information

    ID
    2601
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    10
    Tags
    # Submissions
    2
    Accepted
    1
    Uploaded By