题解 | #E-小绿的房子#

小绿的房子

https://ac.nowcoder.com/acm/contest/84244/E

//E小绿的房子
#include <bits/stdc++.h>
using namespace std;

const int N = 100010;
int n;
int f[N]; //记录下与第i个点距离为1的点
int d[N]; //表示从第i个结点能到达且距离不超过2的结点数
int alls[N];

int main(){

    cin >> n;
    vector<vector<int>>p(n+1);
    for(int i=1;i<=n-1;i++){

        int u,v;
        cin >> u >> v;
        //将u与v之间有边用vector记录下来,每有一条边与u相连,f[u]就加1;
        p[u].push_back(v),f[u]++; 
        p[v].push_back(u),f[v]++;
        
    } 
    
    for(int i=1;i<=n;i++){

        d[i]=0; 
        for(int j=0;j<p[i].size();j++){
            //如果i与t距离为1,则加上与t距离为1点,这里可以将与t距离为1且为i的点看作t这个点
            int t = p[i][j];
            d[i]+=f[t];
        }
        
    }
    int res = 0;
    for(int i=1;i<=n;i++) if(d[i]>=n-1) res++;
    cout << res <<endl;
    return 0;
    
}

全部评论

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
SadnessAlex:跟三十五岁原则一样,人太多给这些***惯坏了
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务