ZOJ 1084 贪心 给顶点染色,相邻顶点不能染同样的颜色 算法有问题不能保证是最优解但能A
2013-04-10 23:27
274 查看
贴代码:
View Code
View Code
#include <cstdio> #include <cstring> #define MAXN 30 int n; bool edge[MAXN][MAXN]; int color() { int vet[MAXN]; int c[MAXN]; int i,j; memset(vet,0xff,sizeof(vet)); for( i=0; i<n; ++i) { memset(c,0,sizeof(c)); for( j=0; j<n; ++j) { if(edge[i][j] && vet[j] != -1) c[vet[j]] = 1; } for(j=0; j<n; ++j) if(!c[j]) break; vet[i] = j; } int max = -1; for(int i=0; i<n; ++i) if(vet[i] > max) max = vet[i]; return max+1; } int main() { freopen("in.cpp","r",stdin); while(~scanf("%d",&n)) { if(n==0) break; memset(edge,0,sizeof(edge)); char a[34]; for(int i=0; i<n; ++i) { scanf("%s",a); int len=strlen(a); int u = a[0]-'A'; for(int j=2; j<len; ++j) { int v = a[j]-'A'; edge[u][v] = edge[v][u] = 1; } } int p = color(); if(p == 1) printf("%d channel",p); else printf("%d channels",p); printf(" needed.\n"); } return 0; }
相关文章推荐
- 有如图所示的七巧板,试设计算法,使用至多4种不同颜色对七巧板进行涂色(每块七巧板一种颜色),要求相邻区域的颜色互补相同,打印输出所有可能的涂色方案。
- 将最优装载问题的贪心算法推广到2艘船的情形,贪心算法仍能产生最优解吗?
- ZOJ贪心算法_题目
- 【codeforce Gym 100570B】【最短路SPFA】 ShortestPath Query 【询问单源最短路径,每条边有一个颜色,要求路径上相邻边的颜色不能相同】
- CCMotionStreak(ccnode子类 可实现拖尾效果 需要设置--- 消隐动画时长,拖尾条带相邻顶点间的最小距离,拖尾条带的宽度,顶点颜色,纹理)
- 贪心算法解决数列作为顶点度数构造无向图问题
- 搜索最优解算法之贪心算法
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- 【2015-2016 XVI Open CupA】【贪心 确定性思想 正难则反 本身具有拓扑序】Abstract Picture 每行每列各染色一次 恢复颜色方案
- zoj1084 染色问题 (四色定理or暴力)
- 有能顶替的wwW250pp临时用着,不能再鲁莽的250pp是不是有问题了
- zoj一道题:fire net 给的测试用例都通过就是不能ac求助测试
- 贪心算法之装箱问题
- 此windows Installer 程序包有问题。完成此安装所需的一个DLL不能运行。请和...
- 贪心算法专题总结
- 大疆笔试题目:长度为n的方格,刷3种颜色,相邻方格颜色不同,首尾颜色不同,共多少种涂色方式
- 1455:An Easy Problem(4.6算法之贪心)
- 是金山扫描病毒的算法有问题吧
- hdu2037 今年暑假不AC(贪心算法基础--会场安排类似
- 贪心算法-Huffman算法