大佬求助全wa求调
查看原帖
大佬求助全wa求调
1346358
0132linzixuan楼主2025/1/17 21:06

题目

#include<bits/stdc++.h>
using namespace std;
int a[10000][10000];
vector<int> s;
struct zx{
	int num;
	int vis;
};
bool cmp(int a,int b){
	return a>b;
}
int main(){
	int n,m,k;
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=k;i++){
			int minn=0x7fffffff,maxn=0;
	zx am[1000];
	int o=1;
	for(int j=1;j<=m;j++){
		am[o].vis=j;
		for(int i=1;i<=n;i++){
			am[o].num+=a[i][j];
			}
			if(am[o].num>maxn)	maxn=am[o].num;
			if(am[o].num<minn) minn=am[o].num;
			o++;
		}

		for(int j=1;j<=m;j++){
			if(am[o].num==minn||am[o].num==maxn){
				for(int i=1;i<=n;i++){
					a[i][am[o].vis]=-1;
					s.push_back(a[i][am[o].vis]);
				}
			}
		}
		o=-1;
		sort(s.begin(),s.end(),cmp);
		for(int i=1;i<=n;i++){
			if(i%2==1){
				for(int j=1;j<=m;j++){
					if(a[i][j]==-1) a[i][j]=s[++o];
				}
			}
			else {
				for(int j=m;j>=1;j--){
					if(a[i][j]==-1) a[i][j]=s[++o];
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<a[i][j]<<' ';
		}
		cout<<'\n';
	}
}
2025/1/17 21:06
加载中...