您的位置:首页 > 其它

joj 1387 CD

2010-09-08 17:00 267 查看
http://acm.jlu.edu.cn/joj/showproblem.php?pid=1387

动态规划问题,用DFS也应该能做,不过应该比较费时

#include<stdio.h>
#include<stdlib.h>
#define N 101
int cmp(const void*a,const void*b){
return *(int *)b-*(int *)a;
}
int a
,used
;
int main(){
int i,j,k,size,n,max,sum;
while(scanf("%d%d",&size,&n)!=EOF){
max=sum=0;
for(i=0;i<n;i++){
used[i]=0;
scanf("%d",&a[i]);
}
qsort(a,n,sizeof(a[0]),cmp);
for(i=0;i<n;i++){
sum=a[i];
for(j=i+1;j<n;j++){
for(k=j;k<n;k++)
if(a[k]<=size-sum)
sum+=a[k];
if(sum>max) {max=sum;}
sum=a[i];
}
}
printf("sum:%d/n",max);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: