zoj-1015-fishing net 【弦图的判断】
2012-11-14 09:16
330 查看
这道题目是裸的弦图的判断,弦图的定义和算法,参考 http://wenku.baidu.com/view/6f9f2223dd36a32d73758126.html?from=rec&pos=0&weight=9&lastweight=2&count=5###
弦:连接环中不相邻的两个点的边
弦图:一个无向图称为弦图,当图中任意长度大于3的环都至少有一个弦。
算法:先对图进行重新编号,然后根据新的编号检查
弦:连接环中不相邻的两个点的边
弦图:一个无向图称为弦图,当图中任意长度大于3的环都至少有一个弦。
算法:先对图进行重新编号,然后根据新的编号检查
#include <cstdio> #include <cstring> using namespace std; int n, m; bool g[1024][1024], used[1024]; int lable[1024], set[1024]; //lable存储图新的编号,set存弦图计算的编号 void Relable() { memset(used, false, sizeof(used)); used[1] = true; for (int num=n-1; num>0; num--) { memset(lable, 0, sizeof(lable)); for (int i=1; i<=n; i++) { if (!used[i]) { for (int j=1; j<=n-num; j++) { if (g[i][set[n-j+1]]) lable[i]++; } } } int maxv = 0, max; for (int i=1; i<=n; i++) { if (lable[i] > maxv) { maxv = lable[i]; max = i; } } set[num] = max; used[max] = true; } } bool check() { int temp[1024]; for (int i=1; i<=n; i++) { memset(temp, 0, sizeof(temp)); int t = 0; for (int j=i+1; j<=n; j++) { if (g[set[i]][set[j]]) { t++; temp[t] = set[j]; } } for (int j=2; j<=t; j++) { if (!g[temp[j]][temp[1]]) return false; } } return true; } int main() { while (scanf("%d%d", &n, &m) == 2) { if (n == 0 && m == 0) break; memset(g, false, sizeof(g)); int a, b; for (int i=0; i<m; i++) { scanf("%d%d", &a, &b); g[a][b] = g[b][a] = true; } set = 1; Relable(); if (check()) printf("Perfect\n"); else printf("Imperfect\n"); printf("\n"); } return 0; }
相关文章推荐
- [ZOJ1015]Fishing Net-弦图判断
- ZOJ 1015 Fishing Net(判断弦图)
- ZOJ 1015-Fishing Net(判断弦图)
- ZOJ 1015 Fishing Net(弦图判定)
- ZOJ 1015 Fishing Net(弦图判定)
- zoj 1015 弦图判断
- ZOJ 1015 Fishing Net 弦图MCS
- ZOJ 1015 弦图的判断
- 弦图ZOJ 1015 Fishing Net 判定方法
- bzoj 1242: Zju1015 Fishing Net 弦图判定
- bzoj1242: Zju1015 Fishing Net弦图判定
- zoj 1015 fishing net
- [bzoj1242] Zju1015 Fishing Net弦图判定
- [BZOJ]1242: Zju1015 Fishing Net弦图判定
- [bzoj] 1242: Zju1015 Fishing Net弦图判定
- [BZOJ1242][Zju1015 Fishing Net弦图判定][完美消除序列]
- ●BZOJ 1006 [HNOI2008]神奇的国度(弦图最小染色数)○ZOJ 1015 Fishing Net
- ZOJ 1015 弦图判定
- bzoj 1242 Zju1015 Fishing Net 弦图判定
- 关于弦图(ZOJ 1015)