POJ 1599 Station Balance (分配问题,搜索)
来源:互联网 发布:理光软件研究所怎么样 编辑:程序博客网 时间:2024/06/10 05:27
题意:给你C个小组(C<=5),S个数值(S<=10, C*2>=S)。要将这S个数值分配给C个小组,每小组最多分配两个数值。求最优的分配方式,使得下面 IMBALANCE 的值最小。
其中AM = 所有数值之和 / C; CMi = 第i小组的数值之和;
#include<cstdio>#include<cmath>#include<algorithm>#include<cstdlib>#include<cstring>using namespace std;int C, S;double imb, am;int ch[6][3], tmp[6][3]; //ch[i][0]表示第i小组所分配的数值个数; tmp记录临时的分配方式int sp[11]; void DFS(int id){ if(id > S) { double s, sum = 0; for(int i = 1; i <= C; i++) { s = 0; for(int j = 1; j <= tmp[i][0]; j++) s += tmp[i][j]; sum += fabs(s - am); if(sum >= imb) return; } imb = sum; memcpy(ch,tmp,sizeof(tmp)); return; } for(int i = 1; i <= C; i++) { if(tmp[i][0] == 2) continue; tmp[i][++tmp[i][0]] = sp[id]; DFS(id + 1); tmp[i][0]--; }}void output(int cs){ printf("Set #%d\n",cs); for(int i = 1; i <= C; i++) { printf(" %d:",i-1); for(int j = 1; j <= ch[i][0]; j++) printf(" %d",ch[i][j]); printf("\n"); } printf("IMBALANCE %.5lf\n\n",imb);}int main(){ int cs = 0; while(scanf("%d%d",&C,&S) != EOF) { am = 0; imb = 999999.9; memset(ch,0,sizeof(ch)); memset(tmp,0,sizeof(tmp)); for(int i = 1; i <= S; i++) { scanf("%d",&sp[i]); am += sp[i]; } am /= C; DFS(1); output(++cs); } return 0;}
- POJ 1599 Station Balance (分配问题,搜索)
- 1599 Station Balance
- POJ - 1837 Balance 记忆化搜索,背包
- POJ 1837 Balance(01背包问题)
- 动态规划 背包问题 poj 1837 Balance
- 【POJ】Balance
- poj 1096 & zoj 1063 Space Station Shielding (搜索 floodfill )
- poj 分配病房问题
- POJ 1837:Balance:动态规划_背包问题变形
- POJ 1837 Balance(动态规划之背包问题)
- POJ 1837 Balance(天平问题 01背包变形)
- 最小生成树问题 poj Building a Space Station
- POJ 1837 Balance
- poj 1837 Balance
- POJ 1837 Balance
- poj 1837 Balance
- POJ 1837 Balance DP
- poj 1837Balance
- Android SurfaceView 绘图覆盖刷新及脏矩形刷新方法
- WinForm 点击按钮把用户输入的信息导入到Word并以系统时间命名 然后打开这个Word所在文件夹
- Sql Server 中的Like的正确用法
- Android内容提供者——Content Providers(一)
- 如何导出自己的APK安装文件
- POJ 1599 Station Balance (分配问题,搜索)
- 关于WiMax认证的一些疑问
- Objective-C的self.用法
- java内存分析(jmap和jhat使用)
- Qt学习之路(40): QTreeWidget
- Source Insight 经典教程
- ObjectType HOOK干涉注册表操作
- 嵌入式经典网站收集
- 关于B2C网站大并发量的建议