P1162 填涂颜色 求助(玄关)
查看原帖
P1162 填涂颜色 求助(玄关)
1035401
_WHX985_楼主2024/11/3 15:30

80pts

#include<iostream>
using namespace std;
int a[1005][1005],u[1005][1005],sx[4]={-1,1,0,0},zy[4]={0,0,-1,1},ax[10005],ay[10005],dep[10005];
int maxn=0x7ffffff;
int n,m;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			bool o=0,o2=0,o3=0,o4=0;
			if(a[i][j]==0){
				for(int h=i;h>=1;h--){
					if(a[h][j]==1){
						o=1;
						break;
					}
				}
				for(int h=i;h<=n;h++){
					if(a[h][j]==1){
						o2=1;
						break;
					}
				}
				for(int h=j;h>=1;h--){
					if(a[i][h]==1){
						o3=1;
						break;
					}
				}
				for(int h=j;h<=n;h++){
					if(a[i][h]==1){
						o4=1;
						break;
					}
				}
				if(o==1&&o2==1&&o3==1&&o4==1){
					a[i][j]=2;
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<a[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}
2024/11/3 15:30
加载中...