设为首页 加入收藏

TOP

UVA10720- Graph Construction
2015-07-20 18:00:56 来源: 作者: 【 】 浏览:2
Tags:UVA10720- Graph Construction

题意:给出一些点的度数,问使用所有点是否能形成图


思路:使用了Havel-Hakimi定理。

详细的定理解释借鉴学长的一篇博客 Havel-Hakimi定理


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; const int MAXN = 10005; int n, arr[MAXN]; int cmp(int a, int b) { return a > b; } int Havel_Hakimi() { for (int i = 0; i < n; i++) { sort(arr + i, arr + n, cmp); if (arr[i] > n - 1 - i) return 0; for (int j = i + 1; j <= i + arr[i]; j++) { arr[j]--; if (arr[j] < 0) return 0; } } return 1; } int main() { while (scanf("%d", &n) && n) { for (int i = 0; i < n; i++) scanf("%d", &arr[i]); if (Havel_Hakimi()) printf("Possible\n"); else printf("Not possible\n"); } return 0; }
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 2499 Binary Tree 下一篇UVA10400- Game Show Math

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: