zoukankan      html  css  js  c++  java
  • poj 1659 Frogs' Neighborhood

    题目链接:http://poj.org/problem?id=1659

    知识扩展:(Havel-Hakimi 定理)由非负整数组成的非增序列 s: d1, d2, ··· , dn (n≥2, d≥1) 是可图的,当且仅当序列 s: d2-1, d3-1, ··· , dd1+1-1, dd1+2, ··· , dn 是可图的。序列 s1 中有 n-1 个非负整数,s 序列中 d1 后的前 d1 个度数(即 d2~dd1+1)减 1 后构成 s1 中的前 d1 个数。

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 
     5 struct Edge{
     6     int id,deg;
     7     bool operator <(const Edge& E) const{
     8         return deg>E.deg;
     9     }
    10 }e[10];
    11 
    12 int main(){
    13     int t,n,i,j,a[10][10];
    14     cin>>t;
    15     while(t--){
    16         cin>>n;
    17         for(i=0;i<n;i++){
    18             for(j=0;j<n;j++) a[i][j]=0;
    19         }
    20         for(i=0;i<n;i++){
    21             cin>>e[i].deg;
    22             e[i].id=i;
    23         }
    24         bool flag=true;
    25         i=0;
    26         while(flag){
    27             sort(e+i,e+n);
    28             if(e[i].deg==0) break;
    29             for(j=i+1;j<=i+e[i].deg;j++){
    30                 if(e[j].deg-1>=0){
    31                     a[e[i].id][e[j].id]=a[e[j].id][e[i].id]=1;
    32                     e[j].deg--;
    33                 }
    34                 else{
    35                     flag=false;
    36                     break;
    37                 }
    38             }
    39             i++;
    40         }
    41         if(!flag) cout<<"NO"<<endl;
    42         else{
    43             cout<<"YES"<<endl;
    44             for(i=0;i<n;i++){
    45                 for(j=0;j<n-1;j++) cout<<a[i][j]<<" ";
    46                 cout<<a[i][n-1]<<endl;
    47             }    
    48         }
    49         if(t>0) cout<<endl;
    50     }
    51     return 0;
    52 }

  • 相关阅读:
    PostMessage
    __stdcall
    C++中L和_T()之区别
    号外:百度开源了它的人工智能技术
    最棒的Unity Github 项目收集(2016)
    OpenGL学习笔记——求值器和NURBS
    unity3d四元数和旋转矩阵
    C# System.Timers.Time
    进程地址空间分布
    子进程与父进程
  • 原文地址:https://www.cnblogs.com/linqiuwei/p/3111116.html
Copyright © 2011-2022 走看看