极品代码,在线求调(赏关)
查看原帖
极品代码,在线求调(赏关)
1236806
wjr_jok楼主2024/3/8 15:29
#include<bits/stdc++.h>
using namespace std;
long long n;
long long xy[1001][1001],x[1001],y[1001];
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]=LLONG_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/8 15:29
加载中...