极品代码,在线求调(赏关)
查看原帖
极品代码,在线求调(赏关)
1236806
wjr_jok楼主2024/3/7 21:32
#include<bits/stdc++.h>
using namespace std;
int n;
int xy[601][601],x[601],y[601];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>xy[i][j];
		}
	}
	for(int j=1;j<=n;j++){
		for(int i=2;i<=n;i++){
			if(xy[i][j]-xy[i-1][j]!=x[i]&&x[i]){
				cout<<"No";
				return 0;
			}
			else{
				x[i]=xy[i][j]-xy[i-1][j];
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=2;j<=n;j++){
			if(xy[i][j]-xy[i][j-1]!=y[j]&&y[j]){
				cout<<"No";
				return 0;
			}
			else{
				y[j]=xy[i][j]-xy[i][j-1];
			}
		}
	}
	y[1]=INT_MAX;
	for(int i=1;i<=n;i++){
		y[1]=min(y[1],xy[i][1]);
	}
	x[1]=xy[1][1]-y[1];
	for(int i=2;i<=n;i++){
		x[i]+=x[i-1];
		y[i]+=y[i-1];
	}
	cout<<"Yes"<<endl;
	for(int i=1;i<=n;i++){
		cout<<x[i]<<" ";
	}
	cout<<endl;
	for(int i=1;i<=n;i++){
		cout<<y[i]<<" ";
	}
	return 0;
}

47个测试点炸最后一个

2024/3/7 21:32
加载中...