AtCoder - 2061 Tree Restoring

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:

N
a1 a2  aN

Output

 

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

Sample Input 1

 

5
3 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

 

3
1 1 2

Sample Output 2

 

Impossible

Sample Input 3

 

10
1 2 2 2 2 2 2 2 2 2

Sample Output 3

 

Possible

Sample Input 4

 

10
1 1 2 2 2 2 2 2 2 2

Sample Output 4

 

Impossible

Sample Input 5

 

6
1 1 1 1 1 5

Sample Output 5

 

Impossible

Sample Input 6

 

5
4 3 2 3 4

Sample Output 6

 

Possible


把直径构造出来,然后讨论讨论就好了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<bits/stdc++.h>
#define ll long long
using 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;
}

  

 
posted @   蒟蒻JHY  阅读(204)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
阅读排行:
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 本地部署 DeepSeek:小白也能轻松搞定!
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)
点击右上角即可分享
微信分享提示