news 2026/2/25 18:32:13

2025年北京大学计算机考研复试机试真题(解题思路 + AC 代码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年北京大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年北京大学计算机考研复试机试真题

2025年北京大学计算机考研复试上机真题

历年北京大学计算机考研复试上机真题

历年北京大学计算机考研复试机试真题

更多学校完整题目开源地址:https://gitcode.com/u014339447/pgcode

01 最小生成树-北京大学

题目描述

给定一张n nn个点的完全图。

图中所有边的边权均为0 / 1 0/10/1,且有且仅有m mm条边边权为1 11

求解该完全图的最小生成树,你只需要输出最小生成树的边权和即可。

输入格式

第一行两个数字n nn,m mm表示点数,以及边权为1 11的边数。

( m ≤ min ⁡ { 200000 , n ( n − 1 ) 2 } ) (m \leq \min\{200000, \frac{n(n-1)}{2}\})(mmin{200000,2n(n1)})

接下来m mm行,一行两个数字a [ i ] a[i]a[i],b [ i ] b[i]b[i],表示连接a [ i ] a[i]a[i],b [ i ] b[i]b[i]的边,其边权为1 11( 1 ≤ a [ i ] < b [ i ] ≤ n ) (1 \leq a[i] < b[i] \leq n)(1a[i]<b[i]n)

保证输入的边两两不同。

输出格式

一行一个数字,表示最小生成树的边权和。

输入样例
6 11 1 3 1 4 1 5 1 6 2 3 2 4 2 5 2 6 3 4 3 5 3 6
输出样例
2
#include<iostream>#include<vector>usingnamespacestd;intmain(){intn,m;cin>>n>>m;vector<vector<int>>D(n+1,vector<int>(n+1,0));for(inti=0;i<m;i++){inta,b;cin>>a>>b;D[a][b]=1;D[b][a]=1;}intrecord[n+1]={0},count=1,sum=0;record[1]=1;while(count<n){intk=0,z=0;for(inti=1;i<=n;i++){if(record[i]==1){for(intj=1;j<=n;j++){if(record[j]==0){k=j;if(D[i][j]==0){z=1;break;}}}if(z==1)break;}}count++;record[k]=1;if(z==0)sum++;}cout<<sum;}

打怪救公主-北京大学

题目描述

公主被魔王抓起来关在了迷宫的某处,骑士想要拯救公主,也进入了迷宫。

但是魔王不会轻易让骑士拯救公主,魔王在迷宫中安排了许多怪兽。

每个怪兽都有血量,骑士也有初始血量 $ t $,骑士打败怪兽后血量的减少量为怪物的血量值,血量减到 $ 0 $,骑士会死去。

迷宫由 $ m \times n $ 个方块组成,每个方块有墙或者路或者怪物,骑士在其中一个方块上,他每个时间单位可以四个方向(上、下、左、右)走到相邻方格,若遇到怪物,必须打败怪物才能继续前进。

请帮忙判断骑士能否成功拯救公主,如果能,给出骑士还剩的最大血量。

输入格式

第一行为三个整数 $ m、 、n $ 和 $ t, ,t $ 表示骑士的初始血量。

第 $ 2 $ 至 $ m+1 $ 行描述了迷宫,迷宫以 $ m $ 行 $ n $ 列的方格组成,若方格为 $ . $ 则表示骑士可以通过,若方格为 $ # $ 则表示墙,骑士不能通过,若方格为数字则表示怪物,数字为怪物的血量,保证怪物的血量小于 $ 10 $(一位数)。

$ * $ 表示了骑士当前所在的位置,$ + $ 表示公主被囚禁的位置。

输出格式

若骑士能成功拯救公主,则输出骑士走到公主所囚禁方格所剩最大血量,否则输出 $ 0 $。

输入样例
5 6 10 ..*... .#2### 5#..4# .##9.# .#+..#
输出样例
4
#include<iostream>#include<queue>usingnamespacestd;intm,n,t;charmap[105][105];intvisit[105][105]={0};intdx[]={-1,1,0,0},dy[]={0,0,-1,1};structState{intx,y,hp;};intmain(){cin>>m>>n>>t;cin.ignore();charmap[m][n];intx1,y1,x2,y2;for(inti=0;i<m;i++){string line;getline(cin,line);for(intj=0;j<n;j++){map[i][j]=line[j];if(line[j]=='*')x1=i,y1=j;elseif(line[j]=='+')x2=i,y2=j;}}queue<State>q;q.push({x1,y1,t});visit[x1][y1]=t;intmax_hp=0;while(!q.empty()){auto[x,y,hp]=q.front();q.pop();if(x==x2&&y==y2){max_hp=max(max_hp,hp);continue;}for(intd=0;d<4;d++){intnx=x+dx[d],ny=y+dy[d],nhp=hp;if(nx<0||nx>=m||ny<0||ny>=n)continue;charc=map[nx][ny];if(c=='#')continue;if(isdigit(c)){nhp-=c-'0';if(nhp<=0)continue;}if(visit[nx][ny]<nhp){visit[nx][ny]=nhp;q.push({nx,ny,nhp});}}}cout<<max_hp<<endl;}

最低通行费-北京大学

题目描述

一个商人穿过一个N × N N \times NN×N的正方形的网格,去参加一个非常重要的商务活动。

他要从网格的左上角进,右下角出,每穿越中间1 11个小方格,都要花费1 11个单位时间。

商人必须在( 2 N − 1 ) (2N-1)(2N1)个单位时间穿越出去。

而在经过中间的每个小方格时,都需要缴纳一定的费用。

这个商人期望在规定时间内用最少费用穿越出去。

请问至少需要多少费用?

注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。

输入格式

第一行是一个整数,表示正方形的宽度N NN( 1 ≤ N < 100 ) (1 \leq N < 100)(1N<100)

后面N NN行,每行N NN个不大于100 100100的整数,为网格上每个小方格的费用。

输出格式

输出一个整数,表示至少需要的费用。

输入样例
5 1 4 6 8 10 2 5 7 15 17 6 8 9 18 20 10 11 12 19 21 20 23 25 29 33
输出样例
109
#include<iostream>usingnamespacestd;intmain(){intn,map[105][105],dp[105][105];cin>>n;for(inti=0;i<n;i++)for(intj=0;j<n;j++){cin>>map[i][j];dp[i][j]=99999;}dp[0][0]=map[0][0];for(inti=0;i<n;i++){for(intj=0;j<n;j++){intfee=dp[i][j];if(i>0)fee=min(dp[i-1][j]+map[i][j],fee);if(j>0)fee=min(dp[i][j-1]+map[i][j],fee);dp[i][j]=fee;}}cout<<dp[n-1][n-1]<<endl;}

冰阔落-北京大学

题目描述

老王喜欢喝冰阔落 冰阔落冰阔落

初始时刻,桌面上有n nn杯阔落,编号为1 11n nn

老王总想把其中一杯阔落倒到另一杯中,这样他一次性就能喝很多很多阔落 阔落阔落,假设杯子的容量是足够大的。

m mm次操作,每次操作包含两个整数x xxy yy

若原始编号为x xx的阔落与原始编号为y yy的阔落已经在同一杯,请输出" Y e s " "Yes""Yes";否则,我们将原始编号为y yy所在杯子的所有阔落,倒往原始编号为x xx中的阔落所在的杯子,并输出" N o " "No""No"

最后,老王想知道哪些杯子有冰阔落 冰阔落冰阔落

输入格式

有多组测试数据,少于5 55组。

每组测试数据,第一行两个整数n nn,m mm(n nn,m mm<=50000 5000050000)。

接下来m mm行,每行两个整数x xx,y yy(1 11<=x xx,y yy<=n nn)。

输出格式

每组测试数据,前m mm行输出" Y e s " "Yes""Yes"或者" N o " "No""No"

m + 1 m+1m+1行输出一个整数,表示有阔落 阔落阔落的杯子数量。

m + 2 m+2m+2行有若干个整数,从小到大输出这些杯子的编号。

输入样例
3 2 1 2 2 1 4 2 1 2 4 3
输出样例
No Yes 2 1 3 No No 2 1 4
#include<iostream>#include<sstream>usingnamespacestd;intc[5][50010],result[5][50010];introot(intk,intnode){while(c[k][node]>0)node=c[k][node];returnnode;}intmain(){for(inti=0;i<5;i++)for(intj=0;j<50010;j++)c[i][j]=-1;intn,m,k=0;string line;while(getline(cin,line)){if(line.empty())break;stringstreamss(line);ss>>n>>m;intx,y;for(inti=1;i<=m;i++){cin>>x>>y;if(root(k,x)==root(k,y))result[k][i]=1;else{c[k][root(k,y)]=x;}}result[k][50001]=m,result[k][50002]=n;k++;cin.ignore();}for(inti=0;i<k;i++){for(intj=1;j<=result[i][50001];j++){if(result[i][j]==0)cout<<"No"<<endl;elsecout<<"Yes"<<endl;}intcount=0;for(intj=1;j<=result[i][50002];j++)if(c[i][j]<0)count++;cout<<count<<endl;for(intj=1;j<=result[i][50002];j++){if(c[i][j]<0){cout<<j;count--;if(count>0)cout<<" ";}}if(i<k-1)cout<<endl;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/15 4:24:07

实体识别+OCR联合方案:云端流水线处理,图片工单全自动解析

实体识别OCR联合方案&#xff1a;云端流水线处理&#xff0c;图片工单全自动解析 引言&#xff1a;保险理赔单处理的痛点与解决方案 每天处理成百上千份手写理赔单&#xff0c;是保险公司后台人员最头疼的工作之一。传统方式需要人工逐张查看单据&#xff0c;手动录入关键信息…

作者头像 李华
网站建设 2026/2/21 18:57:42

【微信小程序开发】配置文件 - 全局配置 和 页面配置

目录 1. 配置文件介绍 2. 全局配置 - pages 配置 3. 全局配置 - window 配置 4. 全局配置 - tabbar 配置 5. 页面配置 6. 项目配置文件和配置sass 本章节对我有很大的收获&#xff0c; 希望对你也是&#xff01;&#xff01;&#xff01; 本章节素材已上传到Gitee&#…

作者头像 李华
网站建设 2026/2/24 6:47:27

AI实体侦测自动化部署:GitHub项目1键克隆,5分钟跑通demo

AI实体侦测自动化部署&#xff1a;GitHub项目1键克隆&#xff0c;5分钟跑通demo 1. 什么是AI实体侦测&#xff1f; AI实体侦测&#xff08;Entity Detection&#xff09;是一种通过人工智能技术自动识别文本中关键信息的技术。想象一下&#xff0c;当你阅读一篇客服工单时&am…

作者头像 李华
网站建设 2026/2/20 3:05:18

php+uniapp 协同过滤算法的电影评分推荐APP 小程序影评_54lfb

目录协同过滤算法在电影推荐中的应用Uniapp 实现前端交互数据库设计与数据流关键代码片段示例性能优化与部署实际应用效果开发技术核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿…

作者头像 李华
网站建设 2026/2/25 1:32:26

php+uniapp宠物医院挂号预约系统微信小程序的设计与实现41r1t

目录系统背景与目标技术架构核心功能模块关键技术实现创新点与优势应用价值开发技术核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联…

作者头像 李华
网站建设 2026/2/25 0:07:16

php+uniapp的城市公交路线查询系统 小程序_hxvh5

目录系统概述技术架构核心功能数据处理性能优化安全措施扩展性设计开发技术核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华