POJ-1659-Frogs' Neighborhood
2013-05-16 14:07
330 查看
这个题根据Havel-Hakimi定理中的方法进行判断,然后直接模拟就行了~
代码:
代码:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int maxn=11; struct node { int val; int index; bool operator < (const node& a)const { return val>a.val; } }a[maxn]; int n,ans[maxn][maxn]; int main() { int T; scanf("%d",&T); while(T--) { memset(ans,0,sizeof(ans)); scanf("%d",&n); int len=n-1; for(int i=0;i<n;i++) { scanf("%d",&a[i].val); a[i].index=i+1; } sort(a,a+n); int flag=0; for(int i=0;i<n;i++) { for(int j=1;j<=a[0].val&&j<=len;j++) { ans[a[0].index][a[j].index]=1; ans[a[j].index][a[0].index]=1; a[j].val--; } swap(a[0],a[len--]); sort(a,a+len+1); for(int j=0;j<=len;j++) if(a[j].val<0) { flag=1; break; } if(flag) break; } if(flag) { printf("NO\n"); printf("\n"); continue; } printf("YES\n"); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) printf("%d%c",ans[i][j],j==n?'\n':' '); printf("\n"); } return 0; }
相关文章推荐
- poj 1659 Frogs' Neighborhood(判断序列可图)
- poj Frogs' Neighborhood(1659)
- POJ_1659 Frogs' Neighborhood
- POJ_1659_Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood (Havel-Hakimi定理,判断序列是否可图)
- poj 1659 Frogs' Neighborhood 图论基础 可图性
- poj 1659 Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood (判断简单图并输出)
- POJ 1659 - Frogs' Neighborhood , Havel_Hakimi 定理
- POJ-1659-Frogs' Neighborhood (Havel-Hakimi定理)
- poj 1659 Frogs' Neighborhood (度序列)
- POJ 1659 Frogs' Neighborhood
- [贪心]poj 1659 Frogs' Neighborhood
- POJ-1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood(度序列构图)
- poj 1659 A - Frogs' Neighborhood
- poj-1659-Frogs' Neighborhood-havel定理