CF Add on a Tree (思维题)

题目描述:
输入n表示有n个节点1,2,3.,,,n ,然后输入n-1行每行两个数表示两节点间的边 
每次挑选两个叶子i,j.从i->j 且不会重复走过的点,并给走过的边赋值,  问是否所有边都可以随意赋值(不互相制约)
ac代码:
如果一个点的度数只有2 那么相邻两条边必定互相制约
#include<bits/stdc++.h>
using namespace std;
int main(){
    int map1[100009];
    int n;
    cin>>n;
    memset(map1,0,sizeof(map1));
    int m=n;
    n--;
    while(n--){
        int x,y;
        scanf("%d %d",&x,&y);
        map1[x]++;
        map1[y]++;
    }
    for(int i=1;i<=m;i++){
        if(map1[i]==2) {
            printf("NO\n");
            return 0;
        }
    }
    printf("YES\n");

}

全部评论

相关推荐

05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务