T145300 【2020.8.24NOIP模拟赛】这是一棵树吗?

T145300 【2020.8.24NOIP模拟赛】这是一棵树吗?_第1张图片

思路;

这道题就是一个数学题
它每个点都会链接它的儿子和一个父亲,我们不妨把父亲先减去,只看儿子,这时我们发现总结点个数为所有节点的度的累加再-(n-1),最后在加上一个父亲节点就A了

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;

long long n, a[100010];
long long sum;

int main(){
     
	scanf("%lld", &n);
	for(long long i=1; i<=n; i++)
	{
     
		scanf("%lld", &a[i]);
		sum+=a[i];
	}
	for(long long i=1; i<=n; i++)
	{
     
		if(a[i]==0)
		{
     
			printf("Impossible");
			return 0;
		}
	}
	sum-=(n-1);
	sum++;
	if(sum==n)
		printf("Possible");
	else
		printf("Impossible");
	return 0;
} 

你可能感兴趣的:(题解,数学)