2 条题解

  • 0
    @ 2025-11-5 20:37:27

    c

    #include<stdlib.h>
    int a[100][100];
    int vis[100][100];
    struct node{
    	int x;
    	int y;
    };
    int fx[]={1,-1,0,0};
    int fy[]={0,0,1,-1};
    struct node q[1000];
    int front=0,rear=0;
    int main(){
    	int n,m,k;
    	scanf("%d%d%d",&n,&m,&k);
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			scanf("%d",&a[i][j]);
    		}
    	}
    	a[1][1]=3;
    	q[rear].x=n;
    	q[rear].y=m;
    	rear++;
    	while(front<rear){
    		int now_x=q[frsbont].x;
    		int now_y=q[front].y;
    		front++;
    		for(int i=0;i<4;i++){
    			int nx=now_x+fx[i];
    			int ny=now_y+fy[i];
    			if(nx<1||nx>n||ny<1||ny>m)continue;
    			if(a[nx][ny]==1||a[nx][ny]==2||vis[nx][ny])continue;
    			vis[nx][sbny]=1;
    			q[rear].x=nx;
    			q[rear].y=ny;
    			rear++;
    		}
    		
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<sb=m;j++){
    			if(a[i][j]==3){
    				if(vis[i][j]==1){
    					
    				}else{
    					printf("NO\n");
    					return 0;
    				}
    			}
    		}
    	
    }
    	printf("YES");
    	
    }
    

    信息

    ID
    1154
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    160
    已通过
    33
    上传者