44分求助
  • 板块P1194 买礼物
  • 楼主Mind_Mean
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/5 09:53
  • 上次更新2024/7/5 12:04:28
查看原帖
44分求助
549251
Mind_Mean楼主2024/7/5 09:53
#include <bits/stdc++.h>
using namespace std;
int a,n;
struct aa{
	int i1,j1,quan;
}ma[260000];
int f[505];
int main(){
	cin>>a>>n;
	int x,c=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>x;
			if(x==0||x>a)x=a;
			ma[c].i1=i;ma[c].j1=j;ma[c].quan=x;
			c++;
		}
	}
	c--;
	for(int i=1;i<=c;i++){
		for(int j=i+1;j<=c;j++){
			if(ma[i].quan>ma[j].quan){
				swap(ma[i],ma[j]);
			}
		}
	}
	int sum=a,k=0;
	for(int i=1;i<=c;i++){
		if((f[ma[i].i1]==0||f[ma[i].j1]==0)&&ma[i].i1!=ma[i].j1){
			sum+=ma[i].quan;
			if(f[ma[i].i1]==0){
				f[ma[i].i1]=1;k++;
			}
			if(f[ma[i].j1]==0){
				f[ma[i].j1]=1;k++;
			}
		}
		if(k==n){
			break;
		}
	}
	cout<<sum;
	return 0;
}
2024/7/5 09:53
加载中...