社区讨论

求助!!!!!!!!!!!!!!!!

B4127[语言月赛 202501] 分队平衡参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mmg4mqj7
此快照首次捕获于
2026/03/07 17:34
3 天前
此快照最后确认于
2026/03/09 19:10
昨天
查看原帖
CPP
#include<iostream>
#include<vector>
using namespace std;
vector<int> v;
int n,m,k,a[100][100];
int mn=1e9,mx=-1;
bool cmp(int x,int y){
	return x>y;
}
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int o=0;o<k;o++){
		for(int i=1;i<=m;i++){
			int s=0;
			for(int j=1;j<=n;j++){
				s+=a[i][j];
			}
			mn=min(mn,s);
			mx=max(mx,s);
		}
		for(int i=1;i<=m;i++){
			for(int j=1;j<=n;j++){
				s+=a[i][j];
			}
			if(s==mn||s==mx){
				for(int j=1;j<=n;j++){
					v.push_back(a[i][j]); 
					a[i][j]=0;
				}
			}
		}
		sort(v.begin(),v.end(),cmp);
		int x=v.size()-1;
		for(int i=1;i<=n;i++){
			if(i%2){
				for(int j=1;j<m;j++){
					if(!a[i][j]){
						a[i][j]=v[x];
						v.pop_back();
						x--;
					}
				}
			}
			else{
				for(int j=m;j<1;j++){
					if(!a[i][j]){
						a[i][j]=v[x];
						v.pop_back();
						x--;
					}
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
求条。。。。。

回复

1 条回复,欢迎继续交流。

正在加载回复...