恳求大佬出手相救,万分感谢!!!(代码全WA)
  • 板块P1392 取数
  • 楼主Bob007
  • 当前回复8
  • 已保存回复8
  • 发布时间2020/6/22 19:19
  • 上次更新2023/11/7 00:13:01
查看原帖
恳求大佬出手相救,万分感谢!!!(代码全WA)
225508
Bob007楼主2020/6/22 19:19
#include<bits/stdc++.h>
using namespace std;
const int MAXN=801;
int n,m,k,a[MAXN][MAXN],l[MAXN],sum=1;
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >q;
priority_queue<int,vector<int>,greater<int> >ans;
void work(int nn,int sumn)
{
	if(nn>n){
		ans.push(sumn);
		return ;
	}
	for(int i=1;i<=l[nn];i++)
	work(nn+1,sumn+a[nn][i]);
}
int main()
{
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++){
		int c[MAXN];
		for(int j=1;j<=m;j++)
		cin>>c[j];
		sort(c+1,c+m+1);
		for(int j=1;j<=m;j++){
			a[i][j]=c[j];
			if(j!=1)q.push(make_pair(a[i][j],i));
		}
		l[i]++;
	}
	while(sum<k){
		int s=q.top().second;
		l[s]++;
		sum=sum/(l[s]-1)*l[s];
		q.pop();
	}
	work(1,0);
	while(k--){
		cout<<ans.top()<<" ";
		ans.pop();
	}
	return 0;
}
2020/6/22 19:19
加载中...