uva 10720 Graph Construction

来源:互联网 发布:h5 ar 案例源码 编辑:程序博客网 时间:2024/05/17 03:40

题意:求是否可以构成图,用到了这个Havel定理 点击打开链接

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 10002;int cmp(const void *a,const void *b){    return *(int *)b - *(int *)a;}int a[MAXN];int solve(int n){    for (int i = 0; i < n; i++)    {        qsort(&a[i],n - i,sizeof(a[0]),cmp);        if (a[i] >= n)            return 0;        if (a[i] == 0)            return 1;        for (int j = i + 1; j <= a[i] + i; j++)        {            --a[j];            if (a[j] < 0)                return 0;        }    }    return 1;}int main(){    int n;    while (scanf("%d",&n) != EOF && n)    {        for (int i = 0; i < n; i++)            scanf("%d",&a[i]);                if (solve(n))            printf("Possible\n");        else printf("Not possible\n");    }    return 0;}