意甲冠军  中国

依据Havel-Hakimi定理构图即可咯  先把顶点按度数从大到小排序  可图的话  度数大的顶点与它后面的度数个顶点相连肯定是满足的  出现了-1就说明不可图了

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 20;
int mat[N][N], ord[N];bool cmp(int i, int j)
{return mat[i][0] > mat[j][0];
}int main()
{int cas, i, j, k, t, n;scanf("%d", &cas);while(cas--){memset(mat, 0, sizeof(mat));scanf("%d", &n);for(i = 1; i <= n; ++i){scanf("%d", &mat[i][0]);ord[i] = i;}for(i = 1; i <= n; ++i){sort(ord + i, ord + n + 1, cmp);t = ord[i];if(mat[t][0] < 0) break;for(j = 1; j <= mat[t][0]; ++j){k = ord[i + j];mat[t][k] = mat[k][t] = 1;--mat[k][0];}}if(i <= n) printf("NO\n");else{printf("YES\n");for(i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j)printf("%d ", mat[i][j]);printf("\n");}}if(cas) printf("\n");}return 0;
}
Frogs' Neighborhood

Description

未名湖附近共同拥有N个大小湖泊L1L2, ..., Ln(当中包含未名湖)。每一个湖泊Li里住着一仅仅青蛙Fi(1 ≤ i ≤ N)。假设湖泊LiLj之间有水路相连,则青蛙FiFj互称为邻居。如今已知每仅仅青蛙的邻居数目x1x2, ..., xn。请你给出每两个湖泊之间的相连关系。

Input

第一行是測试数据的组数T(0 ≤ T ≤ 20)。

每组数据包含两行。第一行是整数N(2 < N < 10),第二行是N个整数。x1x2,..., xn(0 ≤ xi ≤ N)。

Output

对输入的每组測试数据。假设不存在可能的相连关系。输出"NO"。否则输出"YES"。并用N×N的矩阵表示湖泊间的相邻关系,即假设湖泊i与湖泊j之间有水路相连,则第i行的第j个数字为1。否则为0。

每两个数字之间输出一个空格。假设存在多种可能,仅仅需给出一种符合条件的情形。

相邻两组測试数据之间输出一个空行。

Sample Input

3
7
4 3 1 5 4 2 1
6
4 3 1 4 2 0
6
2 3 1 1 2 1

Sample Output

YES
0 1 0 1 1 0 1
1 0 0 1 1 0 0
0 0 0 1 0 0 0
1 1 1 0 1 1 0
1 1 0 1 0 1 0
0 0 0 1 1 0 0
1 0 0 0 0 0 0 NOYES
0 1 0 0 1 0
1 0 0 1 1 0
0 0 0 0 0 1
0 1 0 0 0 0
1 1 0 0 0 0
0 0 1 0 0 0

Source

POJ Monthly--2004.05.15 Alcyone@pku

版权声明:本文博客原创文章,博客,未经同意,不得转载。

POJ 1659 Frogs#39; Neighborhood(度序列组成)相关推荐

  1. POJ 1659 Frogs‘ Neighborhood (Havel 定理)

    Havel 定理: 序列的可图:给出一个 由非负整数组成的序列,如果是某个无向图的度序列,则称该序列是可图的. 而 Havel 定理,就是判断序列的可图的方法.先按度数从大到小排序, 每次处理完度数一 ...

  2. 图论-度序列可图性判断(Havel-Hakimi定理)

    0.可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的. 1.度序列:Sequence Degree,若把图G所有顶点的度数排成一个序列,责成该序列为图G的一个序列.该序列可以是非 ...

  3. Havel—Hakimi定理(度序列)

    对于图的所有顶点,我们可以统计出每个顶点的度.像这样的一串数字,我们称之为:度序列.那么反过来,给定一个序列,能否判断这个序列是可图的呢?这里有一个定理:Havel-Hakimi定理可以用来判定一个序 ...

  4. 图的度序列:Havel定理

    给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化.进一步,若图为简单图,则称此序列可简单图化. 可图化的判定比较简单:d1+d2+.. ...

  5. Havel-Hakimi定理(判断一个度序列是否可图)

    1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的. 2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列. 3,一个非负整数组成的有限 ...

  6. 图论(2)完全图,顶点的度与度序列

    目录 一.完全图 偶图(双图或二部图) (2)完全偶图 简单图的补图 自补图 二.顶点的度与图的度序列 顶点的度 图的度序列(注意与图序列的区别) 图序列 图的频序列及其性质 例题 一.完全图.偶图与 ...

  7. POJ 1659【Havel-Hakimi 定理】

    Havel-Hakimi 定理: 一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的. 例如,判断序列s: 7, 7, 4, 3, 3, 3, 2, 1 是否是可图的. 删除序列s ...

  8. poj 1659 Havel-hakimi定理

    题目链接 http://poj.org/problem?id=1659 题意 已知所有顶点的入度,现在问这些顶点是否能构成一张图,如果可以,输出它的邻接矩阵. 题解 Havel-hakimi定理是一个 ...

  9. poj 1681 Painter#39;s Problem(高斯消元)

    http://poj.org/problem? id=1681 求最少经过的步数使得输入的矩阵全变为y. 思路:高斯消元求出自由变元.然后枚举自由变元,求出最优值. 注意依据自由变元求其它解及求最优值 ...

最新文章

  1. Android第三十一期 - 市面上所有引导页的效果
  2. BBC称中国人加班时间远超欧美:工作效率未必高
  3. 单变量线性回归程序实现
  4. Java System类
  5. Maven仓库搭建(二):GitHub、又拍云、七牛云存储
  6. linux下时间同步的两种方法分享
  7. JDK1.8中String类的intern()方法学习
  8. 说说.NET中忽视的方法
  9. Codeforces 319C DP 斜率优化
  10. C#学习笔记第一篇——类进阶
  11. 解决tsc.exe 已退出 代码为 1
  12. 【蓝牙】什么?还不知道蓝牙协议栈开源了?
  13. 腾讯电脑管家卸载后的残留信息有哪些
  14. tibco linux安装手册,Tibco 产品安装手册.doc
  15. Hi3531D加载TVP7002驱动模块——新手全过程记录
  16. Excel如何制作人形条形图
  17. NEC Programming Contest 2021(AtCoder Beginner Contest 229) B - Hard Calculation
  18. 计算机网络- Internet是如何工作的
  19. 【装机必备】Win软件卸载工具
  20. Vue - Ant Design Vue 中 <a-select> 选择器组件,既可从下拉列表选择,又可输入手动输入文本(既可下拉选择又可自己输入)

热门文章

  1. 用编程语言和计算机沟通
  2. linux日常笔记4
  3. Masonry详解(转)
  4. MySql表里数据的限制
  5. 树莓派架设VNC服务
  6. Line RichEdit类
  7. 使用winpcap定制TCP包发送
  8. Qt学习笔记——打开并显示图片
  9. 《Ray Tracing in One Weekend》——Chapter 8: Metal
  10. 《python自动化》学习笔记:电话地址和E-mail地址提取程序