POJ_1659_Frogs' Neighborhood
2010-06-28 14:15
363 查看
///贪心,但是测试数据中有n=10的数据,与题目有出入 /* 对于一个给定的度序列,看能不能形成一个简单无向图。 Havel算法的思想简单的说如下: (1)对序列从大到小进行排序。 (2)设最大的度数为t,把最大的度数置0,然后把最大度数后(不包括自己)的t个度数分别减1(意思就是把度数最大的点与后几个点进行连接) (3)如果序列中出现了负数,证明无法构成。如果序列全部变为0,证明能构成,跳出循环.前两点不出现,就跳回第一步! */ #include<stdio.h> #include<string.h> int neib[15][15]; int frog[15],num[15]; int main() { int cas; scanf("%d",&cas); while(cas--) { int n,i,j,yes=1; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&frog[i]); num[i]=i; } memset(neib,0,sizeof(neib)); while(1) { int end=1,max=-1,max_i; for(i=1;i<=n;i++) if(frog[i]!=0) { end=0; break; } if(end) { yes=1; break; } int t=0; for(i=1;i<n;i++) { for(j=n;j>=2;j--) { if(frog[j]>frog[j-1]) { t=frog[j-1]; frog[j-1]=frog[j]; frog[j]=t; t=num[j-1]; num[j-1]=num[j]; num[j]=t; } } } t=0; for(i=1;i<=n;i++) if(frog[i]>0) t++; if(t-1<frog[1]) { yes=0; break; } i=1; while(frog[1]) { if(frog[i]>0&&num[i]!=num[1]&&neib[num[i]][num[1]]==0) { frog[i]--; neib[num[i]][num[1]]=neib[num[1]][num[i]]=1; frog[1]--; } i++; } ///////////////////// /*printf("/n"); for(i=1;i<=n;i++) { for(j=1;j<n;j++) printf("%d ",neib[i][j]); printf("%d/n",neib[i] ); }*/ ////////////////// } if(yes) { printf("YES/n"); for(i=1;i<=n;i++) { for(j=1;j<n;j++) printf("%d ",neib[i][j]); printf("%d/n",neib[i] ); } printf("/n"); } else printf("NO/n/n"); } }
相关文章推荐
- POJ 题目1659 Frogs' Neighborhood(度数还原无向图)
- POJ-1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood
- poj-1659-Frogs' Neighborhood-havel定理
- POJ 1659 Frogs' Neighborhood(度序列构图)
- POJ 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood (生成树问题)
- poj 1659 Frogs' Neighborhood(Heal定理)
- POJ 1659 - Frogs' Neighborhood , Havel_Hakimi 定理
- poj 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood
- poj Frogs' Neighborhood(1659)
- poj 1659 Frogs' Neighborhood (贪心 + 判断度数序列是否可图)
- POJ 1659 Frogs' Neighborhood(度序列组成)
- [贪心]poj 1659 Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood(判断序列可图)
- POJ 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood(Havel方法)
- poj 1659 Frogs' Neighborhood (判定度序列的可图性) .
- poj1659 Frogs' Neighborhood 根据度数列构造图,havel_hakimi算法