算法作业 用“分支限界法” 求解代码~~急~~
输入数据的第一行为一个整数n(1≤n≤26),表示中转站的数量,中转站的名字由一个大写字母组成(A-Z),输入数据读到EOF结束。
以下n行,每行表示一个中转站的网络连接关系。
A:BCD
表示A中转站分别与B、C、D中转站相邻。
A:
表示A中转没有其它相邻的中转站。
相邻是一种对称关系,即A相邻于B,那么B也相邻于A。
任务: 每个中转站必须使用与相邻的中转站不同的频谱。
给定一个中转站网络,请你计算出最少需要的频谱数量。
输入示例1 输出示例1
2 1
A:
B:
输入示例2 输出示例2
A:BC 3
B:ACD
C:ABD
D:BC
输入示例3 输出示例3
A:BCD 4
B:ACD
C:ABD
D:ABC
...全文
相关推荐
分支限界法---批处理作业调度
使用C++,基于分支限界法的批处理作业调度,经过调试课直接使用
分支限界法解决作业分配问题
java编写的分支限界法解决作业分配问题,有完整的测试文件、java文件和测试结果文件,还附有详细的算法设计说明。良心资源,值得拥有!
cpp代码-分支限界法求解0-1背包问题
cpp代码-分支限界法求解0-1背包问题
批处理作业调度-分支限界法
#include<iostream> #include<queue> using namespace std; class MinHeapNode { friend class Flowshop; public: bool operator<(const MinHeapNode &a) const{return a.bb<bb;} private: void Init(int); void NewNode(MinHeapNode,int,int,int,int); int s; //已安排作业数 int f1; //机器 1 上最后完成时间 int f2; //机器 2 上最后完成时间 int sf2; //当前机器 2 上的完成时间和 int bb; //当前完成时间和下界 int *x; //当前作业调度 }; void MinHeapNode::Init(int n) { //最小堆结点初始化 x=new int[n]; for(int i=0;i<n;i++) x[i]=i;
批处理作业调度问题·优先队列式分支限界法·回溯法
c++实现的批处理作业调度问题·优先队列式分支限界法·回溯法包括了FlowShop和make类模板,有测试数据data


