| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2051 人关注过本帖
标题:题目我变了 更有意思 在我原来的基础上加了一个问题 题目在31楼
取消只看楼主 加入收藏
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 
我改了 超时

前世五百次的回眸 才换来今生的擦肩而过
2007-10-31 11:30
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 
你的是动态规划吧

前世五百次的回眸 才换来今生的擦肩而过
2007-10-31 13:53
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 

前世五百次的回眸 才换来今生的擦肩而过
2007-10-31 18:02
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 

什么 哦拉哦拉???


前世五百次的回眸 才换来今生的擦肩而过
2007-11-01 08:18
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 

谢谢各位这些天来对我的这题的关注
经过多天的奋斗 我终于ac了
再次感谢大家 谢了
Source

Problem Id:1238 User Id:200618053
Memory:276K Time:625MS
Language:G++ Result:Accepted

Source

#include <stdio.h>
#include <stdlib.h>
#define maxsize 10000
#define min(a,b) ((a)<=(b)?(a):(b))
int compar(const void *a,const void *b)
{
int *aa=(int *)a,*bb=(int *)b;
if(*aa>*bb) return 1;
if(*aa==*bb) return 0;
if(*aa<*bb) return -1;
}
int main()
{
int money[maxsize+1];
int base[10000];
char line[10000];
int k,n,mincase,i,j;
while(scanf("%d%d",&k,&n)!=EOF)
{
int num=0,sum=0,temp;
for(i=0;i<k;i++)
scanf("%d",&base[i]);
qsort(base,k,sizeof(base[0]),compar);
for(i=1;i<=n;i++)
money[i]=-1;
money[0]=0;
money[base[0]]=1;
for(i=base[0]+1;i<=n;i++)
{
mincase=n;
for(j=0;j<k;j++)
if(i>=base[j])
if(money[i-base[j]]>=0)
mincase=min(money[i-base[j]]+1,mincase);
if(mincase!=n)
money[i]=mincase;
}
if(money[n]>0)
printf("%d\n",money[n]);
else
printf("bad\n");
}
return 0;
}


前世五百次的回眸 才换来今生的擦肩而过
2007-11-01 15:02
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
收藏
得分:0 
现在我想到一个问题 如果我想输出至少一组兑换值
动态规划怎么解决
如果输出全部最少兑换值 怎么解决

[此贴子已经被作者于2007-11-2 16:01:20编辑过]


前世五百次的回眸 才换来今生的擦肩而过
2007-11-02 15:57
快速回复:题目我变了 更有意思 在我原来的基础上加了一个问题 题目在31楼
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016109 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved