博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AtCoder - 2061 Tree Restoring
阅读量:4921 次
发布时间:2019-06-11

本文共 1626 字,大约阅读时间需要 5 分钟。

Problem Statement

 

Aoki loves numerical sequences and trees.

One day, Takahashi gave him an integer sequence of length Na1,a2,…,aN, which made him want to construct a tree.

Aoki wants to construct a tree with N vertices numbered 1 through N, such that for each i=1,2,…,N, the distance between vertex i and the farthest vertex from it is ai, assuming that the length of each edge is 1.

Determine whether such a tree exists.

Constraints

 

  • 2≦N≦100
  • 1≦aiN−1

Input

 

The input is given from Standard Input in the following format:

Na1 a2 … aN

Output

 

If there exists a tree that satisfies the condition, print Possible. Otherwise, print Impossible.

Sample Input 1

 

53 2 2 3 3

Sample Output 1

 

Possible

The diagram above shows an example of a tree that satisfies the conditions. The red arrows show paths from each vertex to the farthest vertex from it.

Sample Input 2

 

31 1 2

Sample Output 2

 

Impossible

Sample Input 3

 

101 2 2 2 2 2 2 2 2 2

Sample Output 3

 

Possible

Sample Input 4

 

101 1 2 2 2 2 2 2 2 2

Sample Output 4

 

Impossible

Sample Input 5

 

61 1 1 1 1 5

Sample Output 5

 

Impossible

Sample Input 6

 

54 3 2 3 4

Sample Output 6

 

Possible     把直径构造出来,然后讨论讨论就好了
#include
#define ll long longusing namespace std;const int maxn=205;int cnt[maxn],n,now,M;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&now); M=max(M,now); cnt[now]++; } for(int i=M;i>M-i;i--) if(cnt[i]<2){ puts("Impossible"); return 0;} if(!(M&1)&&cnt[M>>1]!=1){ puts("Impossible"); return 0;} if((M&1)&&cnt[M-(M>>1)]!=2){ puts("Impossible"); return 0;} puts("Possible"); return 0;}

  

 

转载于:https://www.cnblogs.com/JYYHH/p/9171436.html

你可能感兴趣的文章
windows下命令行cmder工具
查看>>
【深度学习大讲堂】首期第一讲:人工智能的ABCDE 第二部分:简谈当前AI技术与发展趋势...
查看>>
pandas 3 设置值
查看>>
pip无法更新
查看>>
vue-12-element组件库
查看>>
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
查看>>
安装oracle后登录时出现 ERROR: ORA-01031 insufficient privileges
查看>>
HOME键窥探Android的Activity生命周期
查看>>
Regularization - Handle with the Overfitting Problem
查看>>
领域驱动设计和实践
查看>>
【第二章】Shell 变量
查看>>
Docker概念学习系列之为什么使用docker?(3)
查看>>
2.1 Producer API官网剖析(博主推荐)
查看>>
win10系统自带的浏览器ME如何将网页转成PDF
查看>>
软件包管理命令
查看>>
iOS支付宝集成时遇到的问题整理(2)
查看>>
messages.exe病毒的清理
查看>>
201902142252_《Node.js之文件系统之一二事(2)》
查看>>
大话设计模式--访问者模式
查看>>
python文件操作
查看>>