当前位置: 首页 > news >正文

【PTA-训练day27】L2-038 病毒溯源 + L2-039 清点代码库 + L2-040 哲哲打游戏

目录

L2-038 病毒溯源 - dfs求树最大深度及路径

L2-039 清点代码库 - STL嵌套使用+结构体自定义排序

L2-040 哲哲打游戏 - vector建图


L2-038 病毒溯源 - dfs求树最大深度及路径

PTA | 程序设计类实验辅助教学平台

思路:

  • 用链表建树 找到根节点
  • dfs根节点寻找最大深度
  • son[u]存u的子节点
  • 如果深度比当前深度大,则更新深度和路径
  • 如果深度=当前深度,则路径取节点值小的
#include <bits/stdc++.h>
using namespace std;const int N=10010,M=N*2;
int h[N],ne[M],e[M],idx;
int st[N],son[N];void add(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}int dfs(int u) //搜索u结点到叶节点的最长路径值
{int res=0;son[u]=-1;for(int i=h[u];i!=-1;i=ne[i]){int j=e[i];int d=dfs(j);if(res<d) res=d,son[u]=j;else if(res==d) son[u]=min(son[u],j);}return res+1;
}int main()
{int n;cin>>n;memset(h,-1,sizeof h);for(int i=0;i<n;i++){int cnt;cin>>cnt;while(cnt--){int x;cin>>x;add(i,x);st[x]=true; //把有父节点的点都标记 则未标记的就是根节点}}int rt=0;while(st[rt]) rt++; //找根节点cout<<dfs(rt)<<endl;cout<<rt;while(son[rt]!=-1){rt=son[rt];cout<<" "<<rt;}
}

L2-039 清点代码库 - STL嵌套使用+结构体自定义排序

PTA | 程序设计类实验辅助教学平台

#include <bits/stdc++.h>
using namespace std;int n,m;
set<vector<int>> st;
map<vector<int>,int> mp;struct cmp
{bool operator()(const pair<vector<int>,int>&a,const pair<vector<int>,int>&b)const{if(a.second!=b.second) return a.second>b.second;else return a.first<b.first;}
};int main()
{cin>>n>>m;while(n--){vector<int> v;for(int i=0;i<m;i++){int x; cin>>x;v.push_back(x);}st.insert(v);mp[v]++;}cout<<st.size()<<endl;set<pair<vector<int>,int>,cmp> s;for(auto x:st) s.insert({x,mp[x]});for(auto x:s){cout<<x.second;for(int i=0;i<x.first.size();i++) cout<<" "<<x.first[i];cout<<endl;}}

L2-040 哲哲打游戏 - vector建图

PTA | 程序设计类实验辅助教学平台

#include <bits/stdc++.h>
using namespace std;const int N=1e5+10;
vector<int> v[N];
int save[N];int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++){int k;cin>>k;for(int j=0;j<k;j++){int x;cin>>x;v[i].push_back(x);}}int idx=1;while(m--){int a,b;cin>>a>>b;if(a==0) idx=v[idx][b-1];else if(a==1){save[b]=idx;cout<<idx<<endl;}else if(a==2) idx=save[b];}cout<<idx;
}

相关文章:

【PTA-训练day27】L2-038 病毒溯源 + L2-039 清点代码库 + L2-040 哲哲打游戏

目录 L2-038 病毒溯源 - dfs求树最大深度及路径 L2-039 清点代码库 - STL嵌套使用结构体自定义排序 L2-040 哲哲打游戏 - vector建图 L2-038 病毒溯源 - dfs求树最大深度及路径 PTA | 程序设计类实验辅助教学平台 思路&#xff1a; 用链表建树 找到根节点dfs根节点寻找最大…...

新一代跨平台云备份工具Duplicacy

什么是 Duplicacy &#xff1f; Duplicacy 是一款云备份软件&#xff0c;通过 Duplicacy 可以将视频&#xff0c;图片&#xff0c;文件&#xff0c;注册表等数据备份到云端。Duplicacy 通过客户端加密和最高级别的重复数据删除功能&#xff0c;将您的文件备份到许多云存储。 安…...

考研复试——概率论

文章目录概率论1. 大数定律2. 中心极限定理3. 大数定律和中心极限定理的区别&#xff1f;4. 最大似然估计5. 古典概型6. 几何概型7. 全概率公式8. 贝叶斯公式9. 先验概率、后验概率10. 数学期望因为初试考的数二&#xff0c;没有学概率论&#xff0c;要从头学习时间也不够&…...

Web学习4_JavaScript常用库

常用库 jQuery 使用方式 在元素中添加&#xff1a; <script src"https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> 按jQuery官网提示下载 选择器 $(selector)&#xff0c;例如&#xff1a; $(div);$(.big-div); $(div > p)s…...

C++回顾(二十)—— vector容器 和 deque容器

20.1 vector容器 20.1.1 vector容器简介 vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素&#xff08;支持索引值直接存取&#xff0c; 用[]操作符或at()方法&#xff09;。vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比…...

httpd使用记录

httpd使用记录 Busybox用一个httpd的程序&#xff0c;尝试用起来。 简单测试 启动服务 # 启动服务 mkdir /var/www/html httpd -p 8080 -h /var/www/html &编写html文件 在/var/www/html下放一个测试网页index.html文件。 <!DOCTYPE html> <html><hea…...

.vue 组件打包成 .js

.vue 组件打包成 .js *** 所有的内容 cli 官网都有 *** *** https://cli.vuejs.org/zh/guide/build-targets.html *** 所有的内容 cli 官网都有&#xff1a; https://cli.vuejs.org/zh/guide/build-targets.html 准备 几个 .vue 组件文件 import Main from ./components/Ma…...

Java 代码分享(第11篇)编程解决数学问题:“计算3个10以内的数字,与合计值相除后,商的第3位小数大于4,共有多少个数的组合满足条件”类似问题

求与合计相除&#xff0c;小数位大于4的数字组合 1 3 4 9 17 1 / 17 ≈ 0.05882 3 / 17 ≈ 0.17647 4 / 17 ≈ 0.23529 9 / 17 ≈ 0.52941 可以发现&#xff0c;每一个商的第三位都是大于等于5的数&#xff0c;四舍五入后会进位。 下面的程序可以生成符合这样条件的数据。…...

面试题 17.05. 字母与数字

题目链接 面试题 17.05. 字母与数字 mid 题目描述 给定一个放有字母和数字的数组&#xff0c;找到最长的子数组&#xff0c;且包含的字母和数字的个数相同。 返回该子数组&#xff0c;若存在多个最长子数组&#xff0c;返回左端点下标值最小的子数组。若不存在这样的数组&…...

解决Win10图片/文件右键单击自动退出并刷新桌面问题

问题描述 这两天开始不知道怎么回事儿&#xff0c;右键选择图片时候&#xff0c;电脑黑屏且资源管理器自动重启。然后我就开始找很多方法去解决。 我试了很多种复杂的简单的方法&#xff0c;但是只有一种解决了我的问题。 解决方案【解决我的问题】 这个方法如下&#xff1…...

【代码随想录训练营】【Day39】第九章|动态规划|62.不同路径|63. 不同路径 II

不同路径 题目详细&#xff1a;LeetCode.62 有点简单呀&#xff0c;做类似这种题型时&#xff0c;最好就是先画图&#xff1a; 可以像题目一样&#xff0c;画一个二维表格&#xff0c;表格内的值代表到达这个格子的不同路径总数那么已知&#xff0c;如果图的大小为m 1 || n…...

【Linux】linux | 修改系统编码 |  增加字体处理 | 图片处理字体变成方块

一、说明1、CentOS7二、修改系统编码编辑文件vi /etc/locale.conf修改编码并保存LANGzh_CN.UTF-8配置生效source /etc/locale.conf1&#xff09;修改系统编码&#xff0c;只是让系统支持中文编码2&#xff09;不解决文字不显示的问题&#xff1b;往后看三、解决字体不显示问题非…...

R语言介绍及安装教程

R语言是一种免费的开源编程语言和环境&#xff0c;主要用于数据分析、统计建模和可视化。它可以运行在不同的操作系统上&#xff0c;如Windows、MacOS和Linux。R语言具有以下特点&#xff1a;丰富的数据处理和统计分析函数库&#xff1b;易于学习和使用&#xff1b;可以生成高质…...

Linux 练习九 (IPC 消息队列)

文章目录消息队列有亲缘关系的进程使用消息队列通信无亲缘关系的进程使用消息队列通信使用环境&#xff1a;Ubuntu18.04 使用工具&#xff1a;VMWare workstations &#xff0c;xshell作者在学习Linux的过程中对常用的命令进行记录&#xff0c;通过思维导图的方式梳理知识点&am…...

在Win 11下使用Visual Studio 2019和cygwin编译JBR(Java SDK 17)源码

很多文章介绍了JDK 8和JDK11源码在Linux编译&#xff0c;很少有人介绍了JDK 17在windows的编译过程&#xff0c;所以写了这篇文章&#xff0c;为什么选用JBR 17版本&#xff0c;因为JBR17 版本集成了HotSwapAgent功能&#xff0c;具体HotSwapAgent有什么用&#xff0c;请看我前…...

java基础学习 day51 (匿名内部类)

1. 什么是匿名内部类&#xff1f; 隐藏了名字的内部类&#xff0c;实际名字为&#xff1a;外部类名$序号可以写在成员位置&#xff0c;为没有名字的成员内部类也可以写在局部位置&#xff0c;为没有名字的局部内部类 2. 匿名内部类的格式&#xff1f; new 类名/接口名() { 重…...

Spring MVC程序开发(三大功能)

文章目录一、什么是Spring MVC?1.MVC定义2.MVC与Spring MVC的关系3.创建方式二、Spring MVC的核心功能1.连接功能浏览器获取前端接口和后端程序连接功能实现get和post的区别Spring Boot热部署2.获取参数&#xff08;1&#xff09;传递单个参数&#xff08;2&#xff09;传递对…...

stack,queue

stack,queuestack的介绍和使用介绍使用模拟实现queue的介绍和使用介绍使用模拟实现priority_queue的介绍和使用介绍使用模拟实现容器适配器概念标准库中stack&#xff0c;queue的底层结构介绍deque原理缺陷deque作为stack,queue底层默认容器stack的介绍和使用 介绍 stack是适…...

shiro反序列化

shiro550反序列化 | 清风的博客这个看着更舒服点 环境搭建 JDK&#xff1a;1.7 Tomcat&#xff1a;8.5.83 shiro源码&#xff1a;下载地址&#xff1a;https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 shiro war包&#xff1a;下载地址SHIRO-550/samples-…...

【GoF 23 概念理解】IoC/DI(控制反转/依赖注入)

搞清楚以下几个问题你就明白什么是 IoC/DI 了&#xff1a; 参与者都有谁&#xff1f;依赖&#xff1a;谁依赖于谁&#xff1f;为什么要依赖&#xff1f;注入&#xff1a;谁注入于谁&#xff1f;到底注入什么&#xff1f;控制反转&#xff1a;谁控制谁&#xff1f;控制什么&…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...