分析
树中的每条边都会被作为入度和出度,也就是说 度数和 / 2 = 树的边数
作为一棵合理树,树的边数 = 树的节点数 - 1
注意
特判0的情况
比如 3 3 1 0
虽然 (3 + 1 + 0) / 2 = 3 - 1,但是这不是一颗树
.
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n,sum=0;
scanf("%d",&n);
if (n==1)
{
printf("Possible");
return 0;
}
for (int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
if (x==0)
{
printf("Impossible");
return 0;
}
sum+=x;
}
if (sum==(n-1)*2) printf("Possible"); else printf("Impossible");
return 0;
}