月赛总结

在BNU上做了几次比赛后,也有了点感觉。

BCF是三道水题,从出题的情况也可以看出。

眼疾手快落了个前排。用时1.5个小时。之后,就一直在想E题,其实第一次提交的就是E题,直接一个WA,就想到,肯定没有那么简单。果断换题,靠,看来脑子很清醒。

E题,越想,越像博弈。后来想了一个小时,也没有想出来,期间又想到,可能是dp,我已在手动模拟出前几组数据,就是得不出结果。但是,我有感觉,应该不难。

终于,还有半个小时,还没有,正确的思路可写。就很不舍的去看了其他题。

A题。这道题,和同学交流后,这就一水题,没有想到,这么简单。

点击打开链接

思路就是:主要统计一下,度为1的个数就好,一个作为起点,另一个作为终点。但是,自己一开始想的是可能的欧拉回路一类的,就放弃了,没有再深入的想。

对于图论,我想,画一下图,看一下性质,可能会好一点吧。可能会发现一些意想不到的结果。

代码:

#include <cstdio>
#include <cstring>

const int N=1004;
int Degree[N];

int main(){
    int n;
    while(~scanf("%d",&n)){
        if(n==1) {
            printf("1\n");
            continue;
        }
        memset(Degree,0,sizeof(Degree));
        for(int i=1;i<n;i++){
            int a,b;
            scanf("%d%d",&a,&b);
            Degree[a]++;
            Degree[b]++;
        }
        int num=0;
        for(int i=1;i<=n;i++)
        if(Degree[i]==1) num++;
        printf("%d\n",(num+1)/2);
    }
    return 0;
}

E题,有人做出来了。果断学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值