hihoCoder 1121 二部图判定
来源:互联网 发布:spss mac 23 序列号 编辑:程序博客网 时间:2024/05/16 23:59
直接上代码……
// hiho 1121#include<iostream>#include<cstdio>#include<memory.h>using namespace std;class graph{private:struct edgeNode{int end;edgeNode* next; edgeNode() : next(NULL) {}edgeNode(int e, edgeNode* n = NULL) : end(e), next(n) {}};struct verNode{edgeNode* head;verNode() : head(NULL) {}};verNode* table;//bool* flag;char* color;int v;public:graph(int vSize){v = vSize + 1;table = new verNode[v];//flag = new bool[v];color = new char[v];}~graph(){int i;for (i = 0; i <= v - 1; i++){edgeNode* tmp = table[i].head;while (tmp){table[i].head = tmp->next;delete tmp;tmp = table[i].head;}}delete[] table;//delete[] flag;delete[] color;}void insert(int u, int w){table[u].head = new edgeNode(w, table[u].head);table[w].head = new edgeNode(u, table[w].head);}bool judge(){int qu[10100], fr = 0, ed = 0, i;memset(color, 0, v * sizeof(char));color[1] = 'r';qu[ed++] = 1;while (fr != ed){// 以下的循环检查一个连通分量while (fr != ed){int cur = qu[fr++];edgeNode* tmp = table[cur].head;while (tmp){if (color[cur] == color[tmp->end]) return false;if (color[tmp->end] == 0) {color[tmp->end] = (color[cur] == 'r') ? 'b' : 'r';qu[ed++] = tmp->end;}tmp = tmp->next;}}for (i = 1; i <= v - 1; i++) if (color[i] == 0) { color[i] = 'r'; qu[ed++] = i; break; }}return true;}};int main(){int T, N, M, i, u, w;scanf("%d", &T);while (T--){scanf("%d%d", &N, &M);graph gp(N);for (i = 1; i <= M; i++){scanf("%d%d", &u, &w);gp.insert(u, w);}if (gp.judge()) printf("Correct\n");else printf("Wrong\n");}return 0;}
0 0
- hihoCoder 1121 二部图判定
- hihoCoder - 1121 - 二分图判定
- hihoCoder 1121 二分图判定
- 二分图判定 水题 Hihocoder 1121
- hihoCoder 1121 二分图一•二分图判定
- hihocoder 1121 : 二分图一•二分图判定
- [HihoCoder]#1121 : 二分图一•二分图判定
- HihoCoder 1121二分图一•二分图判定
- hihocoder 1121 : 二分图一•二分图判定
- hihocoder 1121 : 二分图一•二分图判定
- hihoCoder#1121 : 二分图一•二分图判定
- UVA 10004 Bicoloring【DFS简单二部图判定】
- poj 1112 二部图判定+背包(team them up)
- #1121 : 二分图一•二分图判定 (HIHOCoder +二分图的判定)
- 算法复习-二部图判定 关节点判定(都用了DFS)
- 图的应用--二部图的判定及利用匈牙利算法求二部图的最大匹配
- 二部图
- hihocoder #1121 : 二分图一•二分图判定 并不能AC 孤立点问题?
- 【ssh2学习记录】1、struts2框架入门
- C 语言程序设计实践 传说中的 X
- LeetCode-Integer to Roman
- 分治法找假币
- java cache 学习记录之二
- hihoCoder 1121 二部图判定
- 百度面试题——用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- 程序设计实践阅读摘要[一]
- FZU 2188 BFS
- java基础、矩阵乘法
- 行为型模式总结
- 循环数组求最大子段和系列------方法2
- Log4j xml 配置方式
- 写给我身体里的大毛怪