笔试题整理 第三题

#include <iostream>
#include <vector>

using namespace std;
bool flag_fir = true;

int count_sec(vector<vector<int>> all_sec,vector<int> cur_set)
{
    int len = cur_set.size();
    int num = 0;

    if (len == 0)
        return 1;
    else if (flag_fir)
    {
        num++;
        flag_fir = false;
    }

    for (int i = 0; i < len; i++)
        num += count_sec(all_sec, all_sec[cur_set[i]]);

    return num;
}

int main() {

    int n;
    cin >> n;
    vector<vector<int>>all_sec(n);
    for (int i = 0; i < n-1; i++)
    {
        int x, y;
        cin >> x;
        cin >> y;
        all_sec[y - 1].push_back(x - 1);
    }

    int res = 0;
    int len = all_sec[0].size();

    for (int i = 0; i < len; i++)
    {
        flag_fir = true;
        int cur_res = count_sec(all_sec, all_sec[all_sec[0][i]]);
        if (cur_res > res)
            res = cur_res;
    }

    cout << res+1;

    system("pause");
    return 0;
}

分析:

后来经过推演,认为和1节点连接的所有节点中,求出所有分枝个数最大值,再加1即可。

这个程序有个小毛病,就是默认输入第一个节点值永远大于第二个。

目测没问题,一些案例也通过,但是由于当时没写出来,所以没法真正验证。

原文地址:https://www.cnblogs.com/CJT-blog/p/10714119.html

时间: 2024-10-09 21:52:07

笔试题整理 第三题的相关文章

嵌入式c笔试题(整理)

嵌入式c笔试题 (2012-03-24 22:36) 预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的

2014年阿里巴巴在线笔试题-第3大题-公共最长字符串长度

说明 2014年阿里巴巴在线笔试题-第3大题    首先,我没参加这次的阿里巴巴在线笔试题,题目全部是从别人口中描述而来,对于以下的分析,如果有什么不对的地方还望指教.也希望大家能够有更好的办法,希望大家来能不吝赐教. 题目描述 给定一个主字符串和一个匹配字符串,现在问你,找出 "主串中可匹配到的匹配串中子串的最大长度",可能比较绕,举个例子吧 主字符串       abcdefgsdff     记为A 匹配字符串   abefgf               记为B 要求的值就是 

iO经典笔试题整理

iOS经典笔试题整理---2014年8月 1.回答person的retainCount值,并解释为什么 Person * per = [[Person alloc] init]; 此时person 的retainCount的值是1self.person = per; 在self.person 时,如果是assign,person的 retainCount的值不变,仍为1若是:retain person的retainCount的值加1,变为2 若是:copy person的retainCount值

Java工程师笔试题整理[校招篇]

隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打好Java基础:如何一步一步的学Java - 学习编程 - 知乎专栏.然后再来看一下练习一下各大厂的面试笔试题目. 如果以下内容满足不了你,你还可以去看这篇: 2016校招编程题汇总 - 学习编程 - 知乎专栏 进入主要内容(主要内容整理来自牛客网:牛客网)(以下内容按照各大公司进行划分,对每一公司按照年份进行划分,如果想想下载以下内容,可以

笔试题集锦(智力题)

一.简答题 1. 动态链接库和静态链接库的优缺点 2. 轮询任务调度和可抢占式调度有什么区别? 3. 列出数据库中常用的锁及其应用场景 二.算法设计题 1. 给定N是一个正整数,求比N大的最小"不重复数",这里的不重复是指没有两个相等的相邻位,如1102中的11是相等的两个相邻位故不是不重复数,而12301是不重复数. 2. 设N是一个大整数,求长度为N的字符串的最长回文子串. 3. 坐标轴上从左到右依次的点为a[0].a[1].a[2]--a[n-1],设一根木棒的长度为L,求L最多

Java 工程师面试题整理(三)

根据自己收集的还有一部分自己面试的整理出来,希望能帮到面试的兄弟(2019年). 用友网络 1.你们用微服务有什么好处呢? 2.微服务之间的事务是怎么处理的?怎么回滚? 3.MQ用的什么?MQ的事务是怎么做的? 4.Object里面有什么方法?这些方法什么时候需要用到?equals方法和hashCode需要一起重写吗? 5.怎么删除一个list里面的奇数.list里面有十个整数. 6.Java的IO有没有了解?包里都有些什么内容? 7.Java的类加载过程是什么样的? 8.怎么在Object类中

js作用域之常见笔试题,运行结果题

笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = 10; } alert(a);//Error a is not defined 由于a是函数内部定义的局部变量,根据作用域关系,外层(全局环境)访问不到局部变量.因此会报错 var a=10; function aaa(){ alert(a); } function bbb(){ var a=20;

sql笔试题整理

题记:一直在写各种sql查询语句,最长的有一百多行,自信什么需求都可以接,可......,想了想,可能一直在固定的场景下写,平时也是以满足实际需求为目的,竟不知道应试的题都是怎么出的,又应该怎么做.遂找来一些笔试题来练习. 有四张表如下格式存储: --1.查询"001"课程比"002"课程成绩高的所有学生的学号: select t1.s# from (select s#,c#,score from sc where c# = 001) t1 inner join (

笔试题整理 第二题

班上同学聚餐吃火锅,一锅煮了m(1<=m<=50)个鱼丸和n(1<=n<=50)个肉丸,现欲将m个鱼丸和n个肉丸分到k(1<=k<=50)个碗中,允许有空碗,鱼丸和肉丸不允许混在同一个碗里,问共有多少种装法? 假设碗足够大,能够装50个鱼丸和50个肉丸,并且碗没有任何区别.因此当m等于n等于1,k等于3时,有一种装法,因为110,101,011被看做同一种方法. #include <iostream> #include <vector> #inc