牛客练习赛64 - B Dis2(树,基础图论)

B Dis2
在这里插入图片描述
其实就是对于每一个结点,答案就是这个结点的每一个子结点的子结点数1-1(因为这里使用邻接表实现树,是一个无向图双向建边,子结点的子结点包括自己)

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<bitset>
#include<vector>
#include<unordered_map>
#define ls (p<<1)
#define rs (p<<1|1)
#pragma GCC optimize (2)
#pragma G++ optimize (2)
#define over(i,s,t) for(register int i = s;i <= t;++i)
#define lver(i,t,s) for(register int i = t;i >= s;--i)
//#define int __int128
using namespace std;
#undef mid
typedef long long ll;
typedef pair<int,int> PII;

const int N = 30007;
const ll mod = 1e9+7;
const ll INF = 1e15+7;
const double EPS = 1e-10;
const int base = 131;

int n,m;
vector<int>edge[N];
int main()
{
    scanf("%d",&n);
    over(i,1,n-1){
        int u,v;
        scanf("%d%d",&u,&v);
        edge[u].push_back(v);
        edge[v].push_back(u);
    }
    over(i,1,n){
        int ans = 0;
        for(int j = 0;j<edge[i].size();++j){
            ans += edge[edge[i][j]].size()-1;
        }
        printf("%d\n",ans);
    }
    return 0;
}

注:如果您通过本文,有(qi)用(guai)的知识增加了,请您点个赞再离开,如果不嫌弃的话,点个关注再走吧,日更博主每天在线答疑 ! 当然,也非常欢迎您能在讨论区指出此文的不足处,作者会及时对文章加以修正 !如果有任何问题,欢迎评论,非常乐意为您解答!( •̀ ω •́ )✧

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 酷酷鲨 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读