发布时间: 2012-06-20 20:37:21 作者: rapoo
装载问题之一#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100int n; //集装箱的个数int c; //集装箱的容量int w[MAXSIZE]; //集装箱的重量int cw; //当前重量int bestw; //最优重量void input(); //输入void init(); //初始化void backtrack(int); //回溯int main(void){ while (1) { input(); init(); backtrack(0); printf("%d\n", bestw); } return 0;}void input(){ int i = 0; printf("please enter n:"); scanf("%d", &n); printf("please enter c:"); scanf("%d", &c); for (i = 0; i < n; ++i) { scanf("%d", &w[i]); }}void init(){ cw = 0; bestw = 0;}void backtrack(int t){ int i = 0; if (t >= n) { if (cw > bestw) { bestw = cw; } } else { //进入左子树 cw += w[t]; if (cw <= c) { backtrack(t + 1); } //进入右子树 cw -= w[t]; backtrack(t + 1); }}
拾零落记:对一些使用过的软件的看法和
点滴搜集-Editplus V3/UE V15工具及其
比较工具三注册码
Beyond Compare 3 许可证密钥已被撤销
季置业涉嫌金螳螂案为何值得反思
地方版“四万亿”是饮鸩解渴
Java堆内存(heap memory)的十个要领
区域卫生信息平台发展的一种战略抉择与
经济学十大原理(6)市场通常是组织经