[树论]JZOJ 2745 这是一棵树吗?

传送门

Description

DD和QQ在玩游戏,DD在地上画了一棵树(图论中的树),然后他告诉QQ这棵树的度数序列。QQ马上说这不是一棵树。DD认为自己被QQ鄙视了,他们吵了起来。
但DD随后发现自己算错了度数序列,QQ说的是对的。DD很奇怪为什么QQ反应得这么快。
现在给出一个图的度数序列,你需要做的就是像QQ一样:判断这是否可能是一棵树的度数序列。

题解

我们知道树的边数为(节点数-1)*2
累加,判断,AC

代码

var     n,sum,i,x,o:longint;
begin
        while (not eoln()) do
        begin
                read(n);
                sum:=0;
                for i:=1 to n do
                begin
                        read(x);
                        if (x<=0) then
                        begin
                                writeln('Impossible');
                                o:=1;
                                break;
                        end;
                        sum:=sum+x;
                end;
                if (o=0)and(sum=(n-1)*2) then writeln('Possible')
                else if (o=0) then writeln('Impossible');
                readln;
        end;
end.

posted @ 2018-01-18 15:54  BEYang_Z  阅读(246)  评论(0编辑  收藏  举报