1 solutions

  • 3
    @ 2022-10-31 0:29:38

    纯暴力


    #include<iostream>
    #include<queue>
    #include<stack>
    #include<math.h>
    #include<string.h>
    using namespace std;
    char map[60][60];
    int n,m;
    void bfs(int b,int a){
    	if(map[b][a]=='*'&&map[b+1][a]=='*'&&map[b+1][a+1]=='*'&&map[b-1][a]!='*'&&map[b-1][a+1]!='*'&&map[b-1][a-1]!='*'&&map[b][a-1]!='*'&&map[b][a+1]!='*'&&map[b][a+2]!='*'&&map[b+1][a-1]!='*'&&map[b+1][a+2]!='*'&&map[b+2][a]!='*'&&map[b+2][a-1]!='*'&&map[b+2][a+1]!='*'&&map[b+2][a+2]!='*'){
    		map[b][a]='.';
    		map[b+1][a]='.';
    		map[b+1][a+1]='.';
    	}else if(map[b][a]=='*'&&map[b][a+1]=='*'&&map[b+1][a+1]=='*'&&map[b-1][a-1]!='*'&&map[b-1][a]!='*'&&map[b-1][a+1]!='*'&&map[b][a+2]!='*'&&map[b][a-1]!='*'&&map[b][a+2]!='*'&&map[b+1][a]!='*'&&map[b+1][a-1]!='*'&&map[b+1][a+2]!='*'&&map[b+2][a]!='*'&&map[b+2][a+1]!='*'&&map[b+2][a+2]!='*'){
    		map[b][a]='.';
    		map[b][a+1]='.';
    		map[b+1][a+1]='.';
    	}else if(map[b][a]=='*'&&map[b+1][a]=='*'&&map[b+1][a-1]=='*'&&map[b-1][a]!='*'&&map[b-1][a-1]!='*'&&map[b-1][a+1]!='*'&&map[b][a-2]!='*'&&map[b][a-1]!='*'&&map[b][a+1]!='*'&&map[b+1][a-2]!='*'&&map[b+1][a+1]!='*'&&map[b+2][a]!='*'&&map[b+2][a-1]!='*'&&map[b+2][a-2]!='*'&&map[b+2][a+1]!='*'){
    		map[b][a]='.';
    		map[b+1][a]='.';
    		map[b+1][a-1]='.';
    	}else if(map[b][a]=='*'&&map[b][a+1]=='*'&&map[b+1][a]=='*'&&map[b-1][a]!='*'&&map[b-1][a-1]!='*'&&map[b-1][a+2]!='*'&&map[b-1][a+1]!='*'&&map[b][a-1]!='*'&&map[b][a+2]!='*'&&map[b+1][a-1]!='*'&&map[b+1][a+1]!='*'&&map[b+1][a+2]!='*'&&map[b+2][a]!='*'&&map[b+2][a+1]!='*'&&map[b+2][a-1]!='*'){
    		map[b][a]='.';
    		map[b][a+1]='.';
    		map[b+1][a]='.';
    	}
    }
    int main(){
    	int t;
    	scanf("%d", &t);
    	while(t--){
    		memset(map,0,sizeof(map));
    		int temp=1;
    		scanf("%d %d", &n, &m);
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				cin>>map[i][j];	
    			}
    		}
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				if(map[i][j]=='*'){
    					bfs(i,j);
    				}
    			}
    		}
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				if(map[i][j]=='*'){
    					temp=0;
    				}
    			}
    		}
    		if(temp==0){
    			printf("NO\n");
    		}else{
    			printf("YES\n");
    		}
    	}
    	
    }
    
    • @ 2022-10-31 0:31:10

      翻斗花园有棵树,我叫周一涛你记住

    • @ 2022-10-31 0:33:37

      !!!!!!感恩大佬题解呜呜呜

    • @ 2022-10-31 0:34:16

      yq大佬教教我呜呜呜我是fw

    • @ 2022-10-31 16:35:20

      中分头背带裤,我是ikun你记住

Information

ID
821
Time
1000ms
Memory
256MiB
Difficulty
7
Tags
# Submissions
82
Accepted
17
Uploaded By