poj-1659 Frogs' Neighborhood(判断是否可图,Havel_Hakimi定理)
2014-01-01 16:46
399 查看
/*判断是否可图,考察Havel-Hakimi定理*/ /* 首先介绍下度序列:若把图G所有顶点的度数排成一个序列s,则称s为图G的度序列 判定过程:(1)对当前数列排序,使其呈递减, (2)从S【2】开始对其后S【1】个数字-1 (3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。 */ #include<iostream> #include<string> #include<algorithm> #include<string.h> using namespace std; const int N = 15; typedef struct { int cnt,flg; } Node; bool cmp(const Node& a,const Node& b) { if(a.cnt != b.cnt) { return a.cnt > b.cnt; } return a.flg < b.flg; } int main() { Node d ; int Graph ; int ncase; cin>>ncase; while(ncase--) { memset(d,0,sizeof(d)); memset(Graph,0,sizeof(Graph)); bool flag = false; int n; cin>>n; for(int i = 0 ; i < n ; i++) { int a; cin>>a; d[i].cnt = a; d[i].flg = i; } sort(d,d+n,cmp); for(int i = 0 ; i < n ; i++) { for(int j = 1 ; j <= d[0].cnt ; j++) { d[j].cnt--; Graph[d[0].flg][d[j].flg] = 1;/*假设标记原图*/ Graph[d[j].flg][d[0].flg] = 1; } d[0].cnt = 0;/*对排序不产生影响*/ sort(d,d+n,cmp); if(d[n-1].cnt < 0)/*出现负值则说明不可图*/ { flag = true; break; } } if(flag) { cout<<"NO"<<endl; } else { cout<<"YES"<<endl; for(int i = 0 ; i < n ; i++) { for(int j = 0 ; j < n ; j++) { cout<<Graph[i][j]<<" "; } cout<<endl; } } cout<<endl; } return 0; }
相关文章推荐
- poj 1659 Frogs' Neighborhood (Havel-Hakimi定理,判断序列是否可图)
- poj1659 - Frogs' Neighborhood (利用Havel-Hakimi定理判断一个序列是否是可图的)
- [poj 1659 ]Frogs\' Neighborhood(Havel-Hakimi定理(判断一个序列是否可图))
- Havel-Hakimi 度序列判断无向图是否可图 Poj 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood (贪心+Havel-Hakimi定理)
- POJ 1659 判断是否可图(Havel-Hakimi定理)
- Havel-Hakimi定理(度序列可图性的判定)&POJ 1659 Frogs' Neighborhood
- POJ 1659:Frogs' Neighborhood(Havel-Hakimi定理)
- POJ1659(Frogs' Neighborhood)(Havel-Hakimi定理运用)
- poj 1659 判断是否能构成图Havel-Hakimi定理
- POJ:1659 Frogs' Neighborhood (Havel-Hakimi定理)
- Poj 1659 Frogs' Neighborhood ( Havel-Hakimi定理)
- POJ1659_Frogs' Neighborhood(判断一个度数序列是否可图/Havel-Hakimi定理)
- POJ-1659-Frogs' Neighborhood (Havel-Hakimi定理)
- POJ 1659 Frogs' Neighborhood (Havel-Hakimi定理)
- poj 1659 Frogs' Neighborhood (贪心 + 判断度数序列是否可图)
- POJ 1659 Frogs' Neighborhood (Havel-Hakimi定理)
- poj 1659 Frogs' Neighborhood(贪心Havel-Hakimi可构造简单图定理)
- POJ 1659 Frogs' Neighborhood 可图性判断-Havel定理
- poj 1659 Frogs' Neighborhood(Havel定理求度序列是否成图)