40pts求调
查看原帖
40pts求调
1142472
Wsb101355楼主2025/7/31 19:18
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a[101],c[101][101],g[101],num[101];
struct node{
	ll x,y,id;
}f[101];
bool cmp(node u,node v){
	if(u.y==v.y){
		if(u.x==v.x){
			return u.id<v.id;
		}else{
			return u.x>v.x;
		}
		
	}
	return u.y<v.y;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>g[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>c[i][j];
			if(c[i][j]>=g[j]){
				f[i].x+=c[i][j]/g[j];
				c[i][j]%=g[j];

			}

			
			
		}
		f[i].id=i;
		num[i]=f[i].x;			
		
		
	}
	for(int j=1;j<=m;j++){
		for(int i=1;i<=n;i++){
			f[i].y=c[i][j];
			
		}
		for(int i=1;i<=n;i++){
			f[i].id=i;
			f[i].x=num[i];
		//	cout<<f[i].id<<" "<<f[i].x<<" "<<f[i].y<<"!\n";
		}

		sort(f+1,f+1+n,cmp);
		for(int i=1;i<=n;i++){
			cout<<f[i].id<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2025/7/31 19:18
加载中...