首页 > 其他分享 >塔子哥的树-小红书2024笔试(codefun2000)

塔子哥的树-小红书2024笔试(codefun2000)

时间:2024-07-23 21:55:49浏览次数:10  
标签:塔子哥 return 小红书 2024 int edge ans 节点

题目链接
塔子哥的树-小红书2024笔试(codefun2000)

题目内容

塔子哥是一个热爱冒险和探索的年轻人。有一天,他看到了一张神秘的照片,照片上有一颗挂着红薯的树。这个景象让塔子哥觉得非常有趣,他决定也要种一颗树,并挂上一些红薯,以此分享他的冒险故事。
塔子哥收集了一颗神奇的数树种子,这颗数树与普通树不同,每个结点都有一个特殊的权值。初始时,所有节点都是白色的。塔子哥发现每次可以选择两个相邻的白色节点,并且它们的权值之和必须是质数。一旦满足这个条件,塔子哥就可以选择其中一个节点染成红色。
现在,塔子哥想知道,在这颗数树上,最多可以染红多少个节点。

输入描述

第一行三个整数,以空格分开,分别表示

输出描述

输出一个整数表示正确答案。

样例1

输入

4
1 2 3 4
1 2
2 3
3 4

输出

3

提示

这题要使用无向边建立树,如果使用单向边建立会出现问题,比如1 2,3 2是两条边,如果使用单向边,建立的树就会出现节点2有2个根,分别是1和3。因此,不能用单向边建立树

题解1

#include<bits/stdc++.h>
using namespace std;

const int N = 1e5 + 10;
int n, a[N], ans=0;
vector<int> edge[N];

bool isPrime(int x){
	for(int i = 2; i <= x/i; i++){
		if(x%i == 0) return false;
	}
	return true;
}
void dfs(int u, int fa){
	int sz = edge[u].size();
	for(int j = 0; j < sz; j++){
		int v = edge[u][j];
		if(v == fa) continue;
		dfs(v, u);
		if(isPrime(a[u] + a[v])) { // 子节点与父节点之和是质数,将子节点染成红色,ans累加1即可 
			ans++;
		}
	}
}
int main(){
	scanf("%d", &n);
	for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
	for(int i = 1, u, v; i < n; i++){
		scanf("%d%d", &u, &v);
		edge[u].push_back(v);
		edge[v].push_back(u);
	}
	dfs(1,-1);
	printf("%d\n", ans);
	return 0;
}

标签:塔子哥,return,小红书,2024,int,edge,ans,节点
From: https://blog.csdn.net/qq_45332149/article/details/140646506

相关文章

  • .NET周刊【7月第3期 2024-07-21】
    国内文章给博客园的寄语https://www.cnblogs.com/jingc/p/18307859作者是一名39岁的大龄C#开发程序员,对博客园的艰难处境深感触动,并购买会员支持。回顾他与博客园16年的渊源,博客园在他的学习和工作中提供了大量帮助。尽管在职业生涯中经历多种开发工作,他始终坚持C#开发。面对当......
  • 2024年7月回顾
    2024年7月回顾服务器安全问题话说我在购买了1Panel专业版之后,首次体验了上了WAF,看到各种恶意访问和攻击的记录,引起了我的重视,于是研究一下怎么进行云服务器和网站的安全防护。笔记:用上免费的服务器保护措施-萌狼蓝天-博客园(cnblogs.com)国产Java框架Solon特性描......
  • 2024年最新完整java面试题(含答案)
    1 、面向对象的特征有哪些方面 ? 【基础】答:面向对象的特征主要有以下几个方面:1) 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是......
  • 2024牛客暑期多校训练营3
    Preface又被隔壁干烂了,这场最抽象的是三个人开局被A卡的死去活来,一直到中期的时候才以WA三发的代价过了这个题封榜后徐神狠狠发力连过两题,使得最后勉强只被打出\(n+1\)而不是\(n+2\),鉴定为我是纯纯的飞舞BridgingtheGap2首先不难发现过程一定是先进行\(T=\rceil\f......
  • xfs-2024-NOIP模拟赛
    0722模拟赛这是计数专场吗,把我秒掉了。难原:P7050[NWRRC2015]Concatenation给定两个字符串a,b,从a中选一段前缀,b中选一段后缀(前后缀都可以为空),并将选出的后缀拼在选出的前缀后面。你需要求出有多少种本质不同的串(可以为空)。思路总方案数减去不合法的方案数。以ab......
  • 2024.7.23 Linux——DNS服务搭建(day12)
    (一)搭建nginx1.首先布置基本环境要求能够ping通外网,有yum源2.安装nginxyum-yinstallnginx然后查看验证 3.修改网页配置文件修改文件,任意编写内容,然后去物理机测试(二)创建一台客户端1.模拟一下客户,用母机克隆一台作为我们的客户端然后只需修改地址,保证能够ping......
  • 【专题】2024AI人工智能体验营销行业研究报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=37084原文出处:拓端数据部落公众号 随着体验经济与智能新时代的双重浪潮席卷而来,既有的传统营销框架与初始体验营销理念逐渐显露出对快速膨胀的数字化生态及企业多元化需求的适应性不足。在此背景下,构建一个契合数智化时代脉搏的全新营销理论体系......
  • 2024獬豸杯WP
    2024獬豸杯总体比较轻松?基本可以一把梭?手机取证1、IOS手机备份包是什么时候开始备份的。(标准格式:2024-01-20.12:12:12)看logs,只有时间,日期看文件修改日期。2024-01-15.14:19:442、请分析,该手机共下载了几款即时通讯工具。(标准格式:阿拉伯数字)33、手机机主的号码得ICCID是......
  • DASCTF 2024 暑季赛 cry部分
    1z_RSA观察题目,我们看到给与我们的乘值的高位和pq高位相同,此处我们可以利用进行爆破:foriinrange(200):PQ=pq+ix=factor(PQ)print(i,x)iflen(x)==2andint(x[1][0]).bit_length()<=130:print(x)break爆破后我们即可求得准......
  • React 18【实用教程】(2024最新版)
    搭建开发环境含@配置,react-developer-tools和ReduxDevTools下载安装https://blog.csdn.net/weixin_41192489/article/details/138523829JSX语法https://blog.csdn.net/weixin_41192489/article/details/138649165组件父子组件传值、兄弟组件传值、越层组件......