1 solutions

  • 1
    @ 2024-11-19 19:40:51
    #include<bits/stdc++.h>
    
    using namespace std;
    int b[2001][2001];
    char a[2000][2000];
    const int dx[8]={0,1,0,-1,-1,1,-1,1};
    const int dy[8]={1,0,-1,0,-1,1,1,-1}; 
    int main(){
    	int t;
    	cin>>t;
    	while(t--){
    		int n,m,k;
    		cin>>n>>m>>k;
    		int x,y,d;
    		cin>>x>>y>>d;
    		memset(b,0,sizeof(b));
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				cin>>a[i][j];
    			}
    		}
    		int we=1;
    		b[x][y]=1;
    		for(int i=1;i<=k;i++){
    			int nx=dx[d],ny=dy[d]; 
    			x+=nx;
    			y+=ny; 
    			if(x>n||y>m||x<1||y<1||a[x][y]=='x'){
    				x-=nx;
    				y-=ny;
    				d=(d+1)%4;
    				continue;	
    			} 
    			if(b[x][y]==0){
    				we++;
    				b[x][y]=1;
    			}
    		}
    		cout<<we<<'\n';
    	}
    	//第一个首发题解!!!! 
    	防抄标记
    	return 0;
    }
    
    • 1

    Information

    ID
    10703
    Time
    1000ms
    Memory
    512MiB
    Difficulty
    2
    Tags
    # Submissions
    35
    Accepted
    4
    Uploaded By