真题集P91---2018年计专真题

news2024/11/30 12:43:48

真题集P91---2018年计专真题

  • 三(2)自由树直径
    • 思路
    • 代码
    • 思路
    • 代码
    • 思路
    • 代码

三(2)自由树直径

在这里插入图片描述

思路

1、吉大出的题目,没规定是否是有权图,以及是否是有向图,所以这里默认,权值是1的无向图。

1、如果权值都一样,用邻接表存储,如果权值不同,换成邻接矩阵存储。
2、无向图和有向图,在bfs都一样,但是存储邻接表,邻接矩阵时候,无向图要正反存两次,但是有向图只需要存一次。

2、思路:
<1>我们从任意一个点出发,bfs,找到离出发点最远的节点p1(最后一个出队列的点一定满足)。
<2>我们再从p1出发,找距离它最远的点p2(也同样是最后一个出队列的)
<3>p1和p2之间的距离就是答案

代码

因为我们在bfs的时候,也要兼顾维护距离出发点的距离,所以用结构体存储,方便书写代码。

#include <iostream>
#include <string>
#include <stack>
#include <queue>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
struct point {//需要同时维护dis不如直接用结构体非常好理解
	int num;
	int len;
};
point bfs(vector<vector<int>> edge, int p) {//参数:图、起点
	//初始化
	bool visit[1000];
	point distant[1000];
	int n = edge.size();
	for (int i = 0; i < n; i++) {
		visit[i] = false;
		distant[i].len = 0;
		distant[i].num = 0;
	}
	//准备BFS
	visit[p] = true;
	queue<point> help;
	help.push({ p,0 });
	point ans;//标记出最后一个出队列的节点
	//开始BFS
	while (!help.empty()) {
		point tmp = help.front();
		help.pop();
		ans = tmp;
		for (int e : edge[tmp.num]) {
			if (!visit[e]) {
				visit[e] = true;
				help.push({ e,tmp.len + 1 });
			}
		}
	}
	return ans;//每次要BFS具体最远的节点,就是最后出队列的节点,所以标记一下
}
void function_three() {
	vector<vector<int>> edge;
	int n = 0, m = 0;
	cin >> n >> m;
	edge.resize(n);
	for (int i = 0; i < m; i++) {
		int a = 0, b = 0;
		cin >> a >> b;
		edge[a].push_back(b);
		edge[b].push_back(a);
	}

	//开始算法
	point p1 = bfs(edge, 0);
	point ans = bfs(edge, p1.num);
	cout << ans.len;

	return;
}


在这里插入图片描述

思路

这种题很简单
1、一共100钱,公鸡(x)最多20,所以最多枚举到20即可,不要枚举多了!!!!
2、一共100钱,母鸡(y)最多33,所以最多枚举到33即可,不要枚举多了!!!!
3、z=100-x-y就是小鸡个数,但一定要保证,能整除(三只1块钱,所以必须是3的倍数)!!!!!!!
4、最后总钱数要等与100.

代码

#include <iostream>
#include <string>
#include <stack>
#include <queue>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
void function_four() {
	int x = 0, y = 0, z = 0;
	for (; x <= 20; x++) {//全买公鸡,最多20只
		for (; y <= 33; y++) {//全买母鸡,最多33只
			z = 100 - x - y;
			if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100) {//保证小鸡子个数整除3,且百钱
				cout << x << ' ' << y << ' ' << z;
				return;
			}
		}
	}
	return;
}

在这里插入图片描述

思路

模拟就行

代码

一定注意:写除法的时候,一定得吧分母用大括号括起来,包好了,里面再加以运算

#include <iostream>
#include <string>
#include <stack>
#include <queue>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
int getNum(int n) {
	int ans = 1;
	for (int i = 1; i <= n; i++) {
		ans *= i;
	}
	return ans;
}
double function_five(int cur, int n) {
	if (cur == n) {
		return (double)cur / ((cur + 1)*(getNum(cur + 2)));//加好括号!!!1
	}
	return function_five(cur + 1, n)+ (double)cur / ((cur + 1)*(getNum(cur + 2)));//除法分母上加一个大括号包好,里面再运算!!!!!!
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django的疫苗接种管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

AI绘画怎么操作

ai绘画的4个途径 1.小程序意间ai绘画 需要排队可以多用一点积分换vip通道会快一点,还有就是凌晨两三点的时候快 我一般是图5那样的参数,横图4:3 竖图3:4 2.draft.art网站AI绘画 直接用手机浏览器搜就可以,搜出来就是图6那样的界面点下面蓝色按钮,我是用的🍎自带的浏览…

精品基于JAVA的医院挂号系统的设计与实现SSM

《基于JAVA的医院挂号系统的设计与实现》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;ssm 前端技术&#xff1a;JavaScript、VUE.js&#xff08;2.X&#xff09;、css3 JDK版…

66 - C++中的类型识别

---- 整理自狄泰软件唐佐林老师课程 1. 类型识别 在面向对象中可能出现下面的情况&#xff1a; 基类指针指向子类对象基类引用成为子类对象的别名 这个时候就会出现问题&#xff1a;&#xff08;由于 赋值兼容性原则 &#xff09;没法通过一个父类指针判断指向的是父类对象还…

ZMQ之多线程编程

使用ZMQ进行多线程编程&#xff08;MT编程&#xff09;将会是一种享受。在多线程中使用ZMQ套接字时&#xff0c;你不需要考虑额外的东西&#xff0c;让它们自如地运作就好。 使用ZMQ进行多线程编程时&#xff0c;不需要考虑互斥、锁、或其他并发程序中要考虑的因素&#xff0c;…

安卓手机配哪款蓝牙耳机?最适合安卓手机的蓝牙耳机

蓝牙耳机火了之后&#xff0c;各个品牌就开始涌现&#xff0c;就连手机厂家也开始涉足蓝牙耳机领域。安卓手机这几年也是受到很多人的喜爱&#xff0c;那么安卓手机应该怎么选择蓝牙耳机呢&#xff1f;下面我们一起来看看当前值得入手的蓝牙耳机吧&#xff01; 第一款&#xf…

文章向大家介绍安卓逆向,解决app抓包抓不到的问题,主要包括安卓逆向,解决app抓包抓不到的问题使用实例、应用技巧

本文章向大家介绍安卓逆向&#xff0c;解决app抓包抓不到的问题&#xff0c;主要包括安卓逆向&#xff0c;解决app抓包抓不到的问题使用实例、应用技巧、基本知识点总结和需要注意事项&#xff0c;具有一定的参考价值&#xff0c;需要的朋友可以参考一下。 有时候app抓不到包&…

透视金融科技Q3财报:规模效应显现,深化小微服务覆盖面

面对复杂的经济环境&#xff0c;助力实体经济发展、服务小微企业仍是金融领域的挑战和机遇。 近日&#xff0c;在美上市的多家金融科技公司先后公布了截至2022年9月30日的2022年第三季度财报。在国内疫情多点散发、经济复苏承压背景下&#xff0c;金融科技企业们仍展现了强大的…

计算机毕业设计之java+ssm美味厨房点餐系统

项目介绍 本美味厨房点餐管理系统是针对目前美味厨房点餐管理的实际需求&#xff0c;从实际工作出发&#xff0c;对过去的美味厨房点餐管理系统存在的问题进行分析&#xff0c;结合计算机系统的结构、概念、模型、原理、方法&#xff0c;在计算机各种优势的情况下&#xff0c;…

HTML+CSS项目案例

文章目录1、成绩表2、青蒿素3、静夜思4、毕业季再见青春5、个人信息6、咖啡1、成绩表 案例演示&#xff1a;&#xff08;table、tr、td、th的练习&#xff09; 实现代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8">&…

java集合框架------Collection接口

导语 对于多个同一类型的数据进行存放和处理时&#xff0c;相信很多人想到的第一个方法就是使用数组&#xff0c;但是数组的使用有非常多的局限性&#xff0c;比如长度不够啦&#xff0c;增删操作需要移动多个元素啦。 对于此种问题&#xff0c;采用集合才是最好的解决办法&a…

[附源码]计算机毕业设计springboot基于Web的绿色环保网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

uni-fab彩色图标按钮

资源已经上传了。大家直接可以引用uni-fab就可以https://download.csdn.net/download/qq_39504612/87216560 1. 下载彩色图标 1.首先&#xff0c;从iconfont官网&#xff08;iconfont-阿里巴巴矢量图标库&#xff09;选择自己需要的图标加入项目中&#xff0c;点击下载至本地…

Alibaba Nacos 客户端注册从客户端项目到nacos项目的整体流程核心梳理

客户端篇&#xff1a; 1、NacosAutoServiceRegistration类继承了AbstractAutoServiceRegistration类&#xff0c;AbstractAutoServiceRegistration类实现了ApplicationListener&#xff0c;实现了ApplicationListener接口的类都必须实现一个onApplicationEvent方法&#xff0c;…

CSDN页面左上角出现红色“不安全 | https” ,并且把鼠标放在上面的头像和消息时无法下拉菜单

CSDN页面左上角出现红色“不安全 | https”&#xff0c;如下图&#xff1a; 我不说多了&#xff0c;直接说吧 “不安全 | https”&#xff0c;先点击“不安全”看看&#xff1a; 点击“证书无效”&#xff0c;—>“基本信息” 点击“详细信息” 这三个截图都是有问题…

【元胞自动机】元胞自动机双边教室疏散【含Matlab源码 1208期】

⛄一、元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 何顿 康威设计了一个电脑游戏 “生命游戏” 后, 元胞自动机才吸引了科学家们的注意. 1983 年…

Vue3 | Vue3与Vue2相比的优势、创建项目的方式以及一些常见的Compositioin API

一、Vue3与Vue2相比&#xff0c;有哪些优势呢&#xff1f; 1、性能的提升&#xff1a; 打包大小减少41%初次渲染快55%&#xff0c;更新渲染快133%内存减少54%2、源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking3、新的特性 Composition API&…

[附源码]计算机毕业设计JAVA小型医院药品及门诊管理

[附源码]计算机毕业设计JAVA小型医院药品及门诊管理 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM …

Vue3 - Pinia 状态管理(环境搭建安装及各属性使用教程)详细使用教程

目录初识 Pinia介绍环境搭建getters 属性actions 属性Pinia 模块化Pinia 解构 storePinia 数据持久化SEO初识 Pinia vue 官方文档&#xff1a;https://cn.vuejs.org/guide/scaling-up/state-management.html#pinia Pinia 官方文档&#xff1a;https://pinia.web3doc.top/ pinia…

hiveSql冷门但好用函数 --持续更新

hiveSql常用函数字符串函数to_jsonjson_tupletranslate日期函数next_day字符串函数 to_json 将STRUCT类型的数据转化为json格式字符串&#xff0c;此处需要另外学习一个named_struct()函数:自定义结构化数据的KVnamed_struct(k1,v1,k2,v2…)示例&#xff1a; select named_s…