求调
查看原帖
求调
1269423
huge_wave楼主2024/7/15 20:36
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=1e3+10;
ll n,m,a[N][N],b[N][N],c[N][N],maxb[N],maxc[N],qwe[N];
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m;
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<=m;j++){
			qwe[j]=a[i][j];
		}
		ll maxx=0;
		sort(qwe+1,qwe+1+m);
		ll cd=unique(qwe+1,qwe+1+m)-qwe-1;
		for(ll j=1;j<=m;j++){
			ll wz=lower_bound(qwe+1,qwe+1+cd,a[i][j])-qwe;
			b[i][j]=wz;
			maxx=max(maxx,wz);
		}
		maxb[i]=maxx;
	}
	for(ll j=1;j<=n;j++){
		for(ll i=1;i<=m;i++){
			qwe[i]=a[i][j];
		}
		ll maxx=0;
		sort(qwe+1,qwe+1+n);
		ll cd=unique(qwe+1,qwe+1+n)-qwe-1;
		for(ll i=1;i<=n;i++){
			ll wz=lower_bound(qwe+1,qwe+1+cd,a[i][j])-qwe;
			c[i][j]=wz;
			maxx=max(maxx,wz);
		}
		maxc[j]=maxx;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(b[i][j]==c[i][j]){
				cout<<max(maxb[i],maxc[j])<<" ";
			}
			else if(b[i][j]>c[i][j]){
				cout<<max(maxb[i],maxc[j]+b[i][j]-c[i][j])<<" ";
			}
			else{
				cout<<max(maxb[i]-b[i][j]+c[i][j],maxc[j])<<" ";
			}
		}
		cout<<"\n";
	}
	return 0;
}
2024/7/15 20:36
加载中...