团体程序设计天梯赛(L2-038 病毒溯源 (25 分))

PTA_2021年团体程序设计天梯赛_总决赛_L2-2 病毒溯源 (25 分)_dfs 阅读详情

题目:

思路分析:

一个简单的dfs搜索的题目+路径记录

要字典序列最小那么在插入时候进行排序 第一次dfs搜索到的最长路径就是答案了! 

代码实现:

const int MAX=1e4+10;
vector<int>v[MAX];
int n;
vector<int>ans;
void dfs(int pos,vector<int>&p){
    if(ans.size()<p.size()){
        ans.clear();
        ans=p;
    }
    for(int i=0;i<v[pos].size();i++){
        p.push_back(v[pos][i]);
        dfs(v[pos][i],p);
        p.pop_back();
    }
}
int vis[MAX];
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        int k;
        cin>>k;
        while (k--) {
            int x;
            cin>>x;
            vis[x]=1;
            v[i].push_back(x);
        }
        if(v[i].size()){
            sort(v[i].begin(),v[i].end());
        }
    }
    int f;
    for(int i=0;i<n;i++){
        if(!vis[i])
            f=i;
    }
//    cout<<"f "<<f<<endl;
    vector<int>p;
    p.push_back(f);
    dfs(f,p);
    cout<<ans.size()<<endl;
    for(int i=0;i<ans.size();i++){
        if(i==ans.size()-1) cout<<ans[i];
        else cout<<ans[i]<<" ";
    }
}

PTA团体程序设计天梯赛 PTA团体程序设计天梯赛 有链接部分为完成的,其余未完成 ==================================== L1-001 Hello World 5 L1-002 打印沙漏 20 L1-003 个位数统计 15 L1-004 计算摄氏温度 5 L1-005 考试座位号 15 L1-006 连续因子 20 L1-007 念数字 10 L1-009 N个数求和 20 L1-010 比较大小 10 L1-011 A-B 20 L1-012 计算指数 5 L1-013 计算阶乘 阅读详情

相关推荐

团体程序设计天梯赛竞赛题--进阶题【L2-038 病毒溯源】

进阶级 4 道题,每道题 25 分,满分为 100 分。

Pretty Boy Fox的博客 250

天梯赛:L2-038 病毒溯源 (25 分)

题目详情 - L2-038 病毒溯源 (25 分) (pintia.cn) 就是一个简单的图的遍历加dfs,我的方法就是利用并查集找到根节点,在从根节点开始进行dfs。 可怜的蒟蒻不知道怎么存储路径,最后参照这位大佬的做法才完成了这道题天梯赛L2-38 病毒溯源 (25 分)_m0_51385035的博客-优快云博客 就是搞不懂为啥根节点可以这么算。。。 #include<cstdio> #include<set> #include<vector> #incl

zzhsss的博客 1118

【团体程序设计天梯赛】往年关键真题 L2-038 病毒溯源 dfs L2-039 清点代码库 排序 详细分析&完整AC代码

行,每行给出具有这个功能的模块的个数,以及这个功能的对应输出。这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。在第二行中输出从源头开始最长的一条变异链,编号间以 1 个空格分隔,行首尾不得有多余空格。

Obliviate的博客 160

7-98 病毒溯源 (25 分) 树的dfs + 并查集

根据病毒的变异方向进行建树,对树进行深度优先搜索,搜到叶节点对比保存路径。在建树的同时维护一个并查集,通过并查集找到树的根节点(病毒的源头)。

weixin_50836068的博客 804

Abaqus 导出单元刚度矩阵和全局刚度矩阵

Abaqus 导出单元刚度矩阵和全局刚度矩阵

科技芯风 1万+

4相5线步进电机驱动原理

步进电机驱动

while(1) 3万+

【GPLT】【2021天梯赛真题题解】【231分】

文章目录L1-1 人与神 (5 分)题目描述题目分析L1-2 两小时学完C语言 (5 分)题目描述题目分析L1-3 强迫症 (10 分)题目描述题目分析L1-4 降价提醒机器人 (10 分)题目描述题目分析L1-5 大笨钟的心情 (15 分)题目描述题目分析L1-6 吉老师的回归 (15 分)题目描述题目分析L1-7 天梯赛的善良 (20 分)题目描述题目分析L1-8 乘法口诀数列 (20 分)题目描述题目分析L2-1 包装机 (25 分)题目描述题目分析L2-2 病毒溯源 (25 分)题目描述题目分析L2

eternity_memory的博客 1万+

网易 广州 梦幻西游端游 客户端社招笔试题 2024

4道算法题,时间2小时,牛客网笔试注:采用OJ模式,需要自己处理输入、输出。

z2014z的博客 1813

天梯赛L2病毒溯源(超详细)

建议学习一下vector的用法 (挺简单的,其实,比赛常用的) #include <bits/stdc++.h> using namespace std; const int N = 1e4+10;//N表示le是less 小于10^4 vector<vector<int> > g;//存下病毒关系 //动态二维数组 vector<int> ans,tmp;//存变异链,tmp是本次的路径的数组序列,ans是本次以前的最佳路径序列 bool vis

weixin_45939614的博客 700

Mac和VScode配置fortran

macOS系统 vscode fortran gfortran 终端

weixin_43047707的博客 2410

特斯拉Model 3 BMS主控板拆解:从硬件设计到热管理策略的实战解析

本文深度拆解特斯拉Model 3的BMS主控板,解析其硬件架构与热管理协同策略。文章聚焦于主控板的分区布局、双核MCU的智慧分工,以及从被动监控到主动干预的热管理范式转变,揭示了特斯拉在高压安全、实时控制与系统级工程思维上的设计哲学。

zz67890的博客 593

团体程序设计天梯赛L2题解

由于目前网上容易搜索到的PTA-L2题解写法往往较为复杂,难以跟上最新的XCPC风格,比如链式向前星等方法使用STL库更为简单,本人将大二期间写的一些关于L2的代码作收集,方便大家观看~以后会考虑将每题写上题解的,下次一定一定~有些题目当时拿了23/24飘过的就没补,在下面就不放了~有问题欢迎评论区咨询。

2301_76650919的博客 1298

华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 采购订单,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,并提供在线OJ模拟做题。华为OD机试真题【采购订单】

qq_45776114的博客 3534

团体程序设计天梯赛-练习集 L2 阶段全部题解(c/c++版本)

标号 标题 分数 提交通过率 L2-001 紧急救援 25 7808/32856 (23.76%) L2-002 链表去重 25 6263/24874 (25.18%) L2-003 月饼 25 6588/24235 (27.18%) L2-004 这是二叉搜索树吗? 25 4559/13550 (33.65%) L2-005 ...

m0_57006708的博客 3461

杰理AC696N系列芯片,烧录的时候烧录器连接上芯片之后电脑显示无法识别该设备,该怎么解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1709

基于STM32的多传感器融合的设施农业小型搬运机器人避障控制系统设计

针对设施农业场景中狭窄通道、障碍物多样(如农机具、作物植株、水管)的特点,设计一款基于 STM32 的小型搬运机器人避障控制系统。系统通过多传感器融合实现 360° 环境感知,采用模糊 PID 控制算法实现平滑避障,满足温室、大棚等场景的搬运需求。通过在温室环境测试,系统可实现对直径≥5cm 障碍物的有效检测(检测距离误差≤5%),避障转向半径≤30cm,平均功耗≤15W。后续可通过增加激光雷达(如 TFmini)提升远距离障碍物检测能力,结合 SLAM 算法实现路径规划。

weixin_42300449的博客 860

团体程序设计天梯赛-练习集-java

团体程序设计天梯赛-练习集-java版本 博客提供题目解析,解题思路,ac代码。 对于无法ac的代码提供相应ac的C++代码

谢谢 啊sir的博客 6121

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

L2-038 病毒溯源 (25 分)-PAT 团体程序设计天梯赛 GPLT

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。 输入格式:输入在第一行中给出一个正整数 N(≤10​4​),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。 随后 N 行,每行按以下格式描述一种病毒的变

柳婼 の blog 1629

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2023年团体程序设计天梯赛

## 2020年团体程序设计天梯赛 ### [PTA L2-034 口罩发放 (25 分)](https://blog.youkuaiyun.com/qq_52792570/article/details/130103677) ### [PTA L2-036 网红点打卡攻略 (25 分)](https://blog.youkuaiyun.com/qq_52792570/article/details/130102317) ## 2021年团体程序设计天梯赛 ### [PTA L1-078 吉老师的回归 (15 分)](https

00后的博客 2068

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

2021天梯赛L2-038 病毒溯源(DFS)

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。 输入格式: 输入在第一行中给出一个正整数 N(≤10 ​4 ​​ ),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。 随后 N 行,每行按以下格式描述一种病.

qq_43738331的博客 3931

PTA团体程序设计天梯赛L2真题讲解L2-037-040

PTA团体程序设计天梯赛L2真题讲解L2-037-040

2401_87563614的博客 622

团体程序设计天梯赛-练习集所有L2题目全集

团体程序设计天梯赛-练习集所有L2题目全集

weixin_74292291的博客 239

团体程序设计天梯赛-练习集——L2-038 病毒溯源 (25 分)

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。 输入格式: 输入在第一行中给出一个正整数 N(≤104),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。 随后 N 行,每行按以下格式描述一种病毒的变异情况:.

沃然 214

团体程序设计天梯赛 L2-038 病毒溯源 (Java)

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。

weixin_43897853的博客 325

团体程序设计天梯赛-练习集-L2-038 病毒溯源 (25 分)

C++实现 2021团体程序设计天梯赛-L2-002

qq_50699078的博客 241

团体程序设计天梯赛 -- 练习集 (L2合集)

文章目录L2-001 紧急救援 (25 分)L2-002 链表去重 (25 分)L2-003 月饼 (25 分)L2-004 这是二叉搜索树吗? (25 分)L2-005 集合相似度 (25 分)L2-006 树的遍历 (25 分)L2-007 家庭房产 (25 分)L2-008 最长对称子串 (25 分)L2-009 抢红包 (25 分)L2-010 排座位 (25 分)L2-011 玩转二叉树 (25 分)L2-012 关于堆的判断 (25 分)L2-013 红色警报 (25 分)L2-014 列车调度

沐白白的博客 3146
上一篇: 团体程序设计天梯赛(L2-037 包装机 (25 分))
下一篇: 团体程序设计天梯赛(L2-039 清点代码库 (25 分))
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值