今年计院题目可能比网研难度大一些,没有AK,13人3A,57人2A,98人1A,24人0A

给大家趁热回忆一下题目.

以下题目为回忆版,有些数据细节记不起来了

Problem A 二进制

时间限制 1000 ms 内存限制 65536 KB

题目描述

给出一个32位二进制数X,不忽略前导零,计算X+1和X+3。

输入格式

第一行为测试数据的组数T。
每组数据包括一行:二进制串X

输出格式

每组数据输出两行,分别为X + 1 和X + 3

输入样例

2
00000000000000000000000000000000
00000000000000000000000000000001

输出样例

00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000010
00000000000000000000000000000100

AC代码:

#include <bits/stdc++.h>using namespace std;#define LL long long
#define FF(i,a,b) for(int i = a;i<b;i++)
#define FF_(i,a,b) for(int i = a;i<=b;i++)int main()
{int T;cin >> T;while(T--){string s;cin >> s;int c = 1;for(int i = s.size() - 1; i >=0 ; i--){int num = s[i] - '0';int tmp = num + c;s[i] = tmp % 2 +'0';c = tmp /2;}cout << s << endl;c = 2;for(int i = s.size() - 1; i >=0 ; i--){int num = s[i] - '0';int tmp = num + c;s[i] = tmp % 2 + '0';c = tmp / 2;}cout << s << endl;}return 0;
}

Problem B 二叉树

时间限制 1000 ms 内存限制 65536 KB

题目描述

给出一棵二叉树,求两个节点之间的距离。

输入格式

第一行为数据组数T
每组数据第一行两个整数n,m。分别代表二叉树节点的个数以及查询次数。

接下来n行,每行两个整数p,q,其中第K(1<=K<=n)行代表结点K的左右子结点分别为p,q。若无子节点则用-1表示。根节点编号为1。

接下来m行,每行两个整数a,b(1<=a,b<=n),求出从结点a到结点b的距离。

输出格式

每组数据输出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

思路,直接用图的形式存储,然后BFS

AC代码:

#include <bits/stdc++.h>using namespace std;#define LL long long
#define FF(i,a,b) for(int i = a;i<b;i++)
#define FF_(i,a,b) for(int i = a;i<=b;i++)vector<vector<int> > t(510);//每条边权值都是1,直接用二维数组存储。int bfs(int a,int b){//BFS 从a点到b点vector<bool> vis(510,false);queue<int> q;q.push(a);vis[a] = true;int level = 0;while(!q.empty()){int k = q.size();FF(i,0,k){int tmp = q.front();q.pop();FF(i,0,t[tmp].size()){int cur = t[tmp][i];if(cur == b){return level + 1;}if(vis[cur] == false){vis[cur] = true;q.push(cur);}}}level ++;}}int main()
{int T;cin >> T;while( T--){int n,m;cin >>n >> m;FF_(i,1,n){int t1,t2;cin >> t1 >>t2;if(t1 != -1){t[t1].push_back(i);t[i].push_back(t1);}if(t2 != -1){t[t2].push_back(i);t[i].push_back(t2);}}FF(i,0,m){int a,b;cin >> a >> b;cout <<bfs(a,b)<<endl;}}return 0;
}

Problem C 城市道路

时间限制 1000 ms 内存限制 65536 KB

题目描述

n个城市之间有若干道路,其中某些道路黑夜需要关闭,分别求出城市1到城市n白天和黑夜的最短路径。

输入格式

第一行为数据组数T
对于每组测试数据

第一行三个整数,n,m,k. (1<=n<=50)n表示城市个数,m表示道路个数,k表示黑夜需要关闭的道路个数。

接下来m行,每行 三个整数 a,b,c (1<=a,b<=n),其中第 i 行(1<=i <=m)表示第 i 条道路为从城市a到城市b长度为c(可能存在重复边)。

接下来k行,每行一个整数w,表示黑夜要关闭的道路编号。

输出格式

每组数据输出两行

第一行为白天从城市1到城市n的最短距离

第一行为黑夜从城市1到城市n的最短距离

输入样例

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

输出样例

1
3

思路:由于本人比较菜,Dijkstra不太会用,还好数据量比较小,直接Floyd

AC代码:

#include <bits/stdc++.h>using namespace std;#define LL long long
#define FF(i,a,b) for(int i = a;i<b;i++)
#define FF_(i,a,b) for(int i = a;i<=b;i++)struct road{int left;int right;int wight;bool istrue = false;
};void floyd(vector<vector<LL> > &g){int n = g.size() - 1;FF_(k,1,n){FF_(i,1,n){FF_(j,1,n){if(g[i][j] > g[i][k] + g[k][j]){g[i][j] = g[i][k] + g[k][j];}}}}
}int main()
{int T;cin >> T;while(T--){int n,m,k;cin >> n >> m >> k;vector<LL> tmp(n + 1,INT_MAX);//由于把没有路径设置成了INT_MAN,floyd的时候如果是int类型会出错,当时也是因为这个问题卡了好久。vector<vector<LL> > g(n + 1,tmp);FF_(i,1,n){g[i][i] = 0;}vector<road> rr(m + 1);FF_(i,1,m){int a,b,c;cin >> a >> b >> c;rr[i].left = a;rr[i].right = b;rr[i].wight = c;}FF_(i,1,m){g[rr[i].left][rr[i].right] = rr[i].wight;g[rr[i].right][rr[i].left] = rr[i].wight;}floyd(g);cout << g[1][n] << endl;vector<vector<LL> > g2(n + 1,tmp);//可能会有重复边,所以不能直接在原图上删边,干脆重新初始化一个新图。FF_(i,1,n){g2[i][i] = 0;}FF_(i,1,k){int tmp;cin >>tmp;rr[tmp].istrue = true;}FF_(i,1,m){if(rr[i].istrue == false){g2[rr[i].left][rr[i].right] = rr[i].wight;g2[rr[i].right][rr[i].left] = rr[i].wight;}}floyd(g2);cout << g2[1][n] << endl;}return 0;
}

第四题没做出来,题干也想不起来了,就到这吧。

2019 北邮计算机学院机试 附AC代码以及结果统计相关推荐

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

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

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

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

  3. 2019北邮网研机试

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

  4. 北邮计算机学院专业分析,2019-2021北京邮电大学考研数据分析

    北京邮电大学近三年考研数据分析 一.信息与通信工程学院 2019年拟招生1025人,2020年拟招生810人,2021拟招生648人.近三年信息与通信工程学院招生人数有所减少,而且原信息与通信工程学院 ...

  5. 中科大计算机科学夏令营,2019中科大计算机夏令营机试

    2019中科大计算机夏令营机试 今年是中科大计算机夏令营第一次增加上机考试,而且在离开营一个星期的时候才进行通知.极其短暂的准备时间,加上未知的不确定性,还是带来了不小的挑战.听学长说前些年科大夏令营 ...

  6. 北邮计算机学院课程学习资源汇总

    北邮计算机学院学习资源汇总 高数 [视频]bilibili宋浩(可爱又闷骚的老师,视频整体比较长,高数上.下的都是全的,讲的也很细,课的话看着一个就够了) [资料]吉米多维奇(yyds的习题书,我高数 ...

  7. 【考研经验】2018北邮计算机学院考研经验(复试经验较多)

    原文作者  yycg 点击原文链接,可进入原帖. 现在分享一下我的经验,希望对学弟学妹们有所帮助. 初试 初试成绩不高,总分330+.我是某电类专业跨考的. 暑假七八月份在家,一边准备考研一边准备工作 ...

  8. 北邮计算机学院五组夏森,前辈种树 | 从双非软件到北邮计算机(各路打击后顽强活着)...

    原标题:前辈种树 | 从双非软件到北邮计算机(各路打击后顽强活着) 楼主是一个比较懒的人,这篇经验稿也是下了好大决心才打开编辑界面. 保研并不意外,在提前一年的时候意外发现自己的成绩好像可以保研之后就 ...

  9. 北邮计算机学院复试分数线,2018年北京邮电大学复试分数线

    学校名称:北京邮电大学 学院名称:软件学院 年份:2018 专业代码:0835 专业名称:软件工程 总分:296.00 小科(满分=100分):34.0 大科(满分>100分):51.0 说明: ...

最新文章

  1. 《C++primer》第二章--变量和基本内置类型
  2. 利用WebClient和WebRequest类获得网页源代码C#
  3. 我们需要怎样的人工智能基础教育
  4. debugger markup language帮助文档(DML)
  5. linux运行python脚本语句,如何在Linux下运行Python脚本
  6. 多线程的那点儿事(之读写锁)
  7. linux中时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
  8. java 蓝桥杯算法训练 秘密行动
  9. C++ const型成员函数与 non-const型成员函数 (二)
  10. 执行git命令出现 xcrun: error:
  11. java servlet api.jar_servlet-api.jar包下载
  12. somachine3.1安装包和安装方法
  13. 服务器系统在虚拟机安装win7系统安装教程,vmware虚拟机如何安装win7系统_vmware虚拟机安装win7纯净版图文教程...
  14. 长城汽车携旗下哈弗、欧拉、长城皮卡及WEY登陆北京车展
  15. 第一次使用CSDN写博客
  16. 线性代数行列式计算方法之三角法
  17. 白嫖几十款的微信红包封面
  18. 完整正则表达式语法列表
  19. 玩:圣诞老人和圣诞小子
  20. 动力煤全年跌幅约148[中煤远大智慧煤炭产业平台]

热门文章

  1. Least Squares
  2. 如何用化学软件绘制苯环
  3. 一家水果店的投资成本要多少,一个小型水果店要投资多少钱
  4. 微信小程序音乐背景图360旋转+点击播放暂停同步音乐播放暂停。
  5. setTimeout()方法
  6. 中小型网站运营者的基础运营思路
  7. 2010级信管毕业生实习总结汇编版(共29份)
  8. 全网最全的用手机给电脑装系统,不服来战!
  9. 修复GRUB:win10 1709 秋季创意者更新导致Linux双系统无法引导
  10. PHP 伪静态seo,伪静态、静态、动态网站对SEO的影响有多大?