注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC。

点击链接查看历年机试题目汇总。

A二进制

题目描述

32位二进制数X,对其进行X+1,X+3 操作,并输出。注意不能忽略前导0

输入
第一行,一个整数T,代表测试数据组数。
接着T行,输入32为二进制数

输出
对每组测试数据,输出两行,第一行为X+1,第二行为X+3.

样例输入

2
00000000000000000000000000000000
00000000000000000000000000000001

样例输出

00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000010
00000000000000000000000000000100

解析

二进制加1就是对最低位加1,然后处理进位。
二进制加3就是在加1的基础上再加2,即对倒数第二位加1,处理进位。

#include <iostream>
#include <cstring>
#include <string>
using namespace std; void add(int begin,int end,char a[])
{for(int i=begin;i>=0;i--){if(a[i]=='0') {a[i]='1';break; }else{a[i]='0';}}cout<<a<<endl;
}
int main()
{int T;cin>>T;while(T--){char a[32];cin>>a;add(31,0,a);add(30,0,a); }return 0;
}

B 二叉树

题目描述

对二叉树,计算任意两个结点的最短路径长度。

输入
第一行输入测试数据组数T
第二行输入n,m 。n代表结点的个数,m代表要查询的数据组数
接下来n行,每行输入两个数,代表1~n结点的孩子结点,如果没有孩子结点则输入-1.根节点为1.
接下来m行,每行输入两个数,代表要查询的两个结点

输出
每组测试数据输出m行,代表查询的两个结点之间的最短路径长度

样例输入

1
8 4
2 3
4 5
6 -1
-1 -1
-1 7
-1 -1
8 -1
- 1 -1
1 6
4 6
4 5
8 1

样例输出

2
4
2
4

解析

用一个数组记录节点的父节点,求出两节点的深度,
先统一到相同深度,再同时向上走,直到相同。

#include <iostream>
using namespace std;
int depth(int t[],int v)
{if(t[v]==0) return 0;else return depth(t,t[v])+1;
}
int main()
{int T;cin>>T;while(T--){int n,m,f[100],d[100];f[1]=0;cin>>n>>m;int x,y;for(int i=1; i<=n; i++){cin>>x>>y;if(x!=-1) f[x]=i;if(y!=-1) f[y]=i;d[x]=depth(f,x);d[y]=depth(f,y);}while(m--){cin>>x>>y;int count=0;int d1=d[x],d2=d[y];while(d1!=d2){count++;if(d1>d2){d1--;x=f[x];}else{d2--;y=f[y];}}while(x!=y){count+=2;x=f[x];y=f[y];}cout<<count<<endl;}}return 0;
}

C 中序遍历树

题目描述

在白天和黑夜要从城市1到城市n,黑夜会关掉若干条线路,分别寻找城市1到城市n的在白天和黑夜的最短路径。

输入
第一行数据组数T
第二行输入n,m,k. n代表城市数,m代表路径数,k代表夜间关闭的路径数
接下来m行,每行输入三个数x,y,val,代表城市x和城市y之间连通的距离为val
最后一行k个数,代表晚上关闭的线路序号(线路序号指的是1~m)
感谢补充:不保证无重边,这是考试时,后来补发的公告,所以这题a出的人很少也有这个原因

输出
每组数据输出两行,分别代表白天和黑夜,城市1到n的最短路径

样例输入

1
4 4 1
1 2 1
2 3 1
3 4 1
1 4 1
4

样例输出

1
3

解析

这道题主要是要考虑有重边的情况,先用一个vector数组保存路径及边,
然后再分白天和黑夜讨论。

#include <iostream>
#include <vector>
#include <algorithm>
#define INF 0x3fffffff
using namespace std;
int n,m,k;
int G[1001][1001];
struct edge
{int val;int d;int f;edge(int from,int to,int v){f=from;d=to;val=v;}
};
int floyd()
{for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){for(int k=1;k<=n;k++){if(G[i][k]!=INF&&G[k][j]!=INF&&G[i][k]+G[k][j]<G[i][j])G[i][j]=G[i][k]+G[k][j];}}}return G[1][n];
}
/*
//dijkstra算法
int d[1001],vis[1001];
int dijkstra()
{fill(d,d+1001,INF);fill(vis,vis+1001,0);d[1]=0;for(int i=0;i<n;i++){int u=-1,min=INF;for(int j=1;j<=n;j++){if(!vis[j]&&d[j]<min){u=j;min=d[j];}}if(u!=-1) {vis[u]=1;}for(int j=1;j<=n;j++){if(!vis[j]&&G[u][j]!=INF&&d[u]+G[u][j]<d[j])d[j]=G[u][j]+d[u];}}return d[n];
}
*/
vector<edge> E;
int main()
{int T;cin>>T;while(T--){E.clear();fill(G[0],G[0]+1001*1001,INF);int x,y,val,close[1001]={0};cin>>n>>m>>k;for(int i=1;i<=m;i++){cin>>x>>y>>val;E.push_back(edge(x,y,val));}for(int i=0;i<k;i++) {int t;cin>>t;close[t]=1; //哈希 }for(unsigned int i=0;i<E.size();i++){G[E[i].f][E[i].d]=G[E[i].d][E[i].f]=min(E[i].val,G[E[i].f][E[i].d]);   }cout<<floyd()<<endl;//cout<<dijkstra()<<endl;fill(G[0],G[0]+1001*1001,INF);//黑夜 for(unsigned int i=0;i<E.size();i++){if(close[i+1]==0){G[E[i].f][E[i].d]=G[E[i].d][E[i].f]=min(E[i].val,G[E[i].f][E[i].d]);}}cout<<floyd()<<endl; //cout<<dijkstra()<<endl;}return 0;
}

D

据说这道题现场没有人做出来,很难,在网上我连题目都没找到。

2019北邮计算机机试相关推荐

  1. 北邮计算机机试的编译器,北邮2018计算机院考研复试机试上机题解+结果统计

    签到题,唯一坑点就是int表示不了2^32-1吧,用long long就行了 AC代码: #includeusing namespace std; typedef long long ll; int ...

  2. 2019北邮网安院机试真题(回忆版)@lantin

    2019北邮网安院机试真题(回忆版) 细不谈,前两题真的都是签到题,会简单排序和if-else都可以写的出来的题目.网安院的机试基本上是两道签到题,C题是数据结构题,D题是算法.做到保2争3,保3争4 ...

  3. 华东师范大学计算机模拟试题,华东师范大学计算机机试真题

    华东师范大学计算机机试真题 2009机试2 计算和的数位2 大写改小写3 素数对4 求最大公约数和最小公倍数6 排序后求位置处的数7 *路由器连接8 *编译原理10 *分开连接13 2010机试17 ...

  4. 2019北邮网研机试

    注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC. 点击链接查看历年机试题目汇总. A牙膏问题 题目描述 4只牙膏比较价格,返回最便宜的牙膏. 输入: 第一行输入T ...

  5. 北邮计算机复试英语,2019北邮计算机学院-跨考-复试被刷-失败经验

    本人本科数学系,从事三年java开发后打算跨考北邮计算机专硕,计院11组阿灵顿项目,初试275,数学64,英语76,政治41,专业综合94,复试被刷 我没想考阿灵顿,只是感觉自己实力不行,选了个往年缺 ...

  6. 2019北理工夏令营机试

    2019北理工计算机夏令营机试 今年北理工计算机夏令营一共两道机试题,上机环境为dev c++,支持STL和C++11.测试为黑盒测试,即老师给你一张纸,每个题输入上面的三个样例,根据通过的数目给分. ...

  7. 2019北邮计算机院机试真题

    目录 19计算机院机试真题 Problem A 二进制 Problem B 二叉树 Problem C 最短路径 Problem D 方块阵 19计算机院机试真题 计算机院的机试题真难,没有4A的,第 ...

  8. 2019 北邮计算机学院机试 附AC代码以及结果统计

    今年计院题目可能比网研难度大一些,没有AK,13人3A,57人2A,98人1A,24人0A 给大家趁热回忆一下题目. 以下题目为回忆版,有些数据细节记不起来了 Problem A 二进制 时间限制 1 ...

  9. 2019浙大计算机机试经验帖

    最前面先附上自己的PAT甲级解题目录https://blog.csdn.net/qq_41562704/article/details/86487262 今年自己的录取很大程度占了机试的运气.自己先前 ...

最新文章

  1. python文件流习题解析
  2. Altium designer中高亮元器件或网络时对比度调节
  3. 二十一、String、StringBuffer和StringBuilder的区别是什么?
  4. 阿里云使用笔记-Lrzsz上传下载文件-centos7
  5. python-k近邻分类器-KNN
  6. 【软件质量】软件可维护性
  7. android动态调试防止,Android应用防止so注入防止动态调试参考代码
  8. myeclipse/eclipse方法和类的自动注解
  9. linux服务器端口的状态,Linux查看端口状态及关闭端口方法
  10. Mac中如何将本地文文档设置成文档模板(WPS)
  11. 1.工作汇报结构: 黄金圈法则结构、PREP结构、时间轴结构、金字塔结构
  12. LeetCode刷题日记:LCP 03.机器人大冒险
  13. Norms for Vectors and Matrices
  14. php计算两个地点的距离
  15. wke播放优酷提示客户端权限的问题
  16. 石墨笔记,幕布和 Effie 哪个更适合教师?
  17. 幼儿使用计算机亮度,选儿童护眼灯小心被广告忽悠,亮度值并非越高越好!
  18. 原型模式——java实现原型模式的几种写法
  19. 什么是MES生产制造执行系统?实施系统有哪些好处?
  20. 洛谷 P1830 轰炸Ⅲ

热门文章

  1. python绘制散点图的步骤_python绘制散点图
  2. java eclipse计算器_eclipse编写计算器
  3. 还 是 你 太 狠 心
  4. 计算机考试从哪里如何出题,计算机基础考试系统出题-第4章 excel.xls
  5. 计算机错误代码0X000000be,win7电脑出现蓝屏错误0x000000BE的解决方法
  6. Tomcat指定war包路径部署
  7. linux 如何设置待机时间_linux 休眠功能介绍(转)
  8. android studio avd manager 命令行,avdmanager
  9. Android 性能优化 (一)APK高效瘦身
  10. OpenHarmony OpenSl ES音频播放开发