研究生机试
Violet-Guo
努力一直前进的程序猿一枚~~
展开
-
2011年北京大学计算机研究生机试真题(题解)
九度OJ题目传送门:2011年北京大学计算机研究生机试真题鸡兔同笼题目描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)输出输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个原创 2016-04-25 20:05:55 · 2247 阅读 · 1 评论 -
九度OJ - 1209 - 最小邮票数
题目描述有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M<100。然后是一个数N,N〈20,表示有N张邮票。接下来是N个正整数,分别表示这N张邮票的面值,且以升序排列。输出对于每组数据,能够凑成总值M的最少邮票张数。若无解,输出原创 2016-06-10 23:10:07 · 645 阅读 · 0 评论 -
九度OJ - 1352 - 和为S的两个数字
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输入每个测试案例包括两行: 第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1 <= n <= 10^6,k为int 第二行包含n个整数,每个数组均为int类型。输出对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出“-1 -1”原创 2016-06-10 00:02:04 · 488 阅读 · 0 评论 -
九度OJ - 1152 - 点菜问题
题目描述北大网络实验室经常有活动需要叫外买,但是每次叫外买的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。 注意:由于需要营养多样化,每种菜只能点一次。输入输入的第一行有两个整数C(1 <= C <= 1000)原创 2016-06-07 23:21:12 · 1096 阅读 · 0 评论 -
九度OJ - 1151 - 位操作练习
题目描述给出两个不大于65535的非负整数,判断其中一个的16位二进制表示形式,是否能由另一个的16位二进制表示形式经过循环左移若干位而得到。循环左移和普通左移的区别在于:最左边的那一位经过循环左移一位后就会被移到最右边去。比如: 1011 0000 0000 0001 经过循环左移一位后,变成 0110 0000 0000 0011, 若是循环左移2位,则变成 1100 0000 0000 01原创 2016-06-07 22:55:06 · 739 阅读 · 0 评论 -
九度OJ - 1078 - 二叉树遍历
题目描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入两个字符串,其长度n均小于等于2.........原创 2016-05-09 23:39:39 · 812 阅读 · 0 评论 -
九度OJ - 1184 - 二叉树遍历
题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入输入包括1行字符串,长度不超过100。输出可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字原创 2016-05-10 22:22:04 · 1192 阅读 · 0 评论 -
九度OJ - 1350 - 二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。输入第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n <= 10。 接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。输出输出一个整型,表示树的深度。样例输入原创 2016-05-10 22:05:18 · 581 阅读 · 0 评论 -
九度OJ - 1176 - 树查找
题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入输入有多组数据。 每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。样例输入 4 1 2 3 4 2样例输出 2 3来源2010年北京邮电大学网院研究生机试原创 2016-05-10 11:05:58 · 568 阅读 · 0 评论 -
九度OJ - 1201 - 二叉排序树
题目描述输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。输入输入第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。输出可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。样例输入 5 1 6 5 9 8样例输出 1 6 5 9 8原创 2016-05-10 15:09:09 · 1027 阅读 · 0 评论 -
九度OJ - 1467 - 二叉排序树
题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;左、右子树本身也是一颗二叉排序树。现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲节点的关键字值,如果没有原创 2016-05-10 15:37:42 · 1087 阅读 · 0 评论 -
九度OJ - 1172 - 哈夫曼树
题目描述哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入输入有多组数据。 每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出输出权值。样例输入 5 1 2 2 5 9样例输出 37来源2010年北京邮电大学计原创 2016-05-10 15:13:48 · 536 阅读 · 0 评论 -
九度OJ - 1009 - 二叉搜索树
题目描述判断两序列是否为同一二叉搜索树序列输入开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。 接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。 接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出如果序列相同则输出YES,否则输出NO样例输入原创 2016-05-10 13:56:10 · 657 阅读 · 0 评论 -
九度OJ - 1028 - 继续畅通工程
题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。输入测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1< N < 100 );随后的 N(N-1)/2 行对应村庄间道原创 2016-06-23 08:27:56 · 525 阅读 · 0 评论