社区
软件水平考试
帖子详情
救人一命,胜造七级浮屠
wonderguo
2003-09-23 05:27:52
1999年下午试题第六题,我看了两天。把头都看大了,没看懂
请教各位大虾拔刀相助
...全文
36
4
打赏
收藏
救人一命,胜造七级浮屠
1999年下午试题第六题,我看了两天。把头都看大了,没看懂 请教各位大虾拔刀相助
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wonderguo
2003-09-26
打赏
举报
回复
经过楼上大哥的指点,昨晚又看一晚。终于。。。。。。。。。有点懂了。。。。。。
谢谢!!!!!!!!!
whyes
2003-09-24
打赏
举报
回复
新版清华版教程上有还算详细的讲解,你自习看一看。
尤其是那个示意图。
moke33
2003-09-24
打赏
举报
回复
自己先慢慢看吧
wonderguo
2003-09-23
打赏
举报
回复
#include <stdio.h>
#define N 100
double limw;
int opts[N]; /* 存储临时最佳的选择方案,当opts[i]为1,物品i在解中 */
struct elem { double weight;
double value;
} a[N]; /* 物品的重量和价值信息 */
int k, n ;
struct { int flg; /* 物品的考虑状态:0:不选,1:将被考虑,2:曾被选中 */
double tw; /* 已达到的总重量 */
double tv; /* 期望的总价值 */
}twv[N]; /* 当前候选解中各物品的考虑状态,以及候选解的状态 */
main()
{ double maxv, find();
printf(“Enter number of matter. “); scanf(“%d”, &n);
printf(“Enter limit of weight. “); scanf(“%1f”, &limw);
printf(“Enter weight and values of matters. “);
for (k = 0; k < n; k++) scanf(“%1f%1f”, &a[k].weight, &a[k].value);
maxv = find(a,n);
for(k = 0; k < n; k++) if(opts[k]) printf(“%4d”, k);
printf(“\nTotal value = %1f\n”, maxv);
}
next(int i , double tw, double tv) /* 将考虑i号物品 */
{ twv[i].flg = 1; twv[i].tw = tw; twv[i].tv = tv; }
look(int i, int *f, double *tw, double *tv) / * 取i 号物品在解中的状态信息 * /
{ *f = twv[i].flg; *tw = twv[i].tw; *tv = twv[i].tv; }
double find (struct elem *a, int n )
{ int i, k, f;
double maxv, tw, tv, totv = 0.0;
maxv = 0;
for(k=0; k < n; k++) ____(1)____;
next(0, 0.0, totv);
i = 0;
while(i >= 0) {
look(i, &f, &tw, &tv);
switch (f) {
case 1: twv[i].flg++; /* 先考虑被选中 */
if(____(2)____ <= limw) /* 选中可行吗? */
if(i < n-1) { /* 后面还有物品吗? */
next(____(3)____); /* 置i+1物品的状态 */
i++;
}
else if (tv > maxv) { /* 是一个更好的候选解吗? */
maxv = tv;
for(k = 0; k < n; k++)
opts[k] = twv[k].flg != 0;
}
break;
case 0: i--; break; /* 回退 */
default: /* f == 2 */
twv[i].flg = 0;
if (____(4)____) /* 不选i号物品可行吗? */
if(i < n-1) { /* 后面还有物品吗? */
next(____(5)____);
i++;
}
else {
maxv = tv – a[i].value;
for(k = 0; k < n; k++)
opts[k] = twv[k].flg != 0;
i--;
}
break;
}
}
return maxv;
}
学校急救培训个人学习总结2021.docx
学校急救培训个人学习总结2021.docx
急救培训个人学习总结.doc
急救培训个人学习总结.doc
中考英语复习训练 完形填空34(普通难度)
中考英语复习训练 完形填空34(普通难度)
急救培训个人学习总结.docx
急救培训个人学习总结.docx
增广贤文.doc
增广贤文.doc
软件水平考试
2,959
社区成员
22,569
社区内容
发帖
与我相关
我的任务
软件水平考试
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
复制链接
扫一扫
分享
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证
c4java
c4前端
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章