POJ 1129 图的四色定理
2014-11-29 22:33
267 查看
题目翻译:
当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个***都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。
由于无线电频道是一有限的,一个给定的网络所需的中继频道数目应减至最低。编写一个程序,读取一个中继网络,然后求出需要的最低的不同频道数。
代码:
当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个***都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。
由于无线电频道是一有限的,一个给定的网络所需的中继频道数目应减至最低。编写一个程序,读取一个中继网络,然后求出需要的最低的不同频道数。
代码:
#include<iostream> using namespace std; typedef class { public: int next[27]; //直接后继 int pn; //next[]指针(后继个数) }point; int main(int i,int j,int k) { int n; while(cin>>n) { if(!n) break; getchar(); //n的换行符 point* node=new point[n+1]; //结点 /*Structure the Map*/ for(i=1;i<=n;i++) { getchar(); //结点序号 getchar(); //冒号 if(node[i].pn<0) //初始化指针 node[i].pn=0; char ch; while((ch=getchar())!='\n') { j=ch%('A'-1); //把结点字母转换为相应的数字,如A->1 C->3 node[i].next[ ++node[i].pn ]=j; } } int color[27]={0}; //color[i]为第i个结点当前染的颜色,0为无色(无染色) color[1]=1; //结点A初始化染第1种色 int maxcolor=1; //当前已使用不同颜色的种数 for(i=1;i<=n;i++) //枚举每个顶点 { color[i]=n+1; //先假设结点i染最大的颜色 bool vist[27]={false}; //标记第i种颜色是否在当前结点的相邻结点染过 for(j=1;j<=node[i].pn;j++) //枚举顶点i的所有后继 { int k=node[i].next[j]; if(color[k]) //顶点i的第j个直接后继已染色 vist[ color[k] ]=true; //标记该种颜色 } for(j=1;i<=n;j++) //从最小的颜色开始,枚举每种颜色,最终确定结点i的染色 if(!vist[j] && color[i]>j) { color[i]=j; break; } if(maxcolor<color[i]) maxcolor=color[i]; } if(maxcolor==1) cout<<1<<" channel needed."<<endl; else cout<<maxcolor<<" channels needed."<<endl; delete node; } return 0; }
相关文章推荐
- poj 1129(ID-DFS四色定理)
- poj 1129 Channel Allocation(四色定理+着色问题)
- poj 1129 四色定理
- POJ 1129-Channel Allocation(四色定理+迭代深搜)
- POJ 1129:Channel Allocation 四色定理+暴力搜索
- POJ 1129:Channel Allocation 四色定理+暴力搜索
- POJ 1129 四色问题 暴力搜索
- poj 1129 DFS+四色问题 Channel Allocation
- POJ 1129 Channel Allocation DFS+四色问题优化
- POJ 1129 图的染色 暴力
- chapter05—Channel Allocation(POJ 1129)
- poj 1548 Dilworth定理(机器人清理垃圾)
- 中国剩余定理进阶 POJ——Strange Way to Express Integers
- POJ 1006 Biorhythms 中国剩余定理
- poj-1659-Frogs' Neighborhood-图论-Havel-Hakimi定理-java
- poj 1845 数论(唯一分解定理+分治法求等比数列前n项的和mod m的值)
- poj_1286 Necklace of Beads(置换群Polya定理)
- POJ Channel Allocation 1129(dfs+四色定理)
- POJ1006-Biorhythms .中国剩余定理
- NYOJ 280 LK的项链 &&POJ 2409 Let it Bead(polya 定理)