记录编号 253412 评测结果 AAAAAAAAAA
题目名称 机器分配 最终得分 100
用户昵称 Gravatarliu_runda 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2016-04-22 09:58:42 内存使用 0.75 MiB
显示代码纯文本
#include<cstdio>
int max(int a,int b){
	return a>b?a:b;
}
int f[200][200],p[200][200];
int sol[200][200];
void output(int a,int b){
	if(a==0)return;
	output(a-1,b-sol[a][b]);
	printf("%d %d\n",a,sol[a][b]);	
}
//f[i][j]:前i个公司、j台机器 
int main(){
	freopen("machinea.in","r",stdin);
	freopen("machinea.out","w",stdout);
	int n,m;
	scanf("%d %d",&m,&n);
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j){
			scanf("%d",&p[i][j]);
		}
	}
	for(int i=1;i<=n;++i){
		for(int j=0;j<=m;++j){
			for(int k=0;k<=j;++k){
				if(f[i][j]<f[i-1][j-k]+p[i][k])
				{
					f[i][j]=f[i-1][j-k]+p[i][k];
					sol[i][j]=k;				
				}			
			}
		}
	} 
	printf("%d\n",f[n][m]);
//	output(n,m);
	fclose(stdin);fclose(stdout);
	return 0;
}