机试指南之路
RPG_Zero
春日雨,夏蝉鸣,明天是个好天气。
秋风起,雪花轻,海底看不见四季。
展开
-
九度 OJ1450 产生冠军 hdu 2094 STL中Map容器初尝试
Problem Description有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之...原创 2019-09-11 20:41:25 · 4959 阅读 · 0 评论 -
HDOJ 2124 Repair the wall 九度教程第24题 贪心 水~
题目链接解题思路:贪心,每次选择当前最长的木板即可。AC代码://贪心 每次选择最长的木板#include<iostream>#include<stdio.h>#include<queue>#include<vector>#include<functional>using namespace std;priorit...原创 2019-09-06 21:14:24 · 207 阅读 · 0 评论 -
HDOJ 迷瘴 贪心策略
题目链接解题思路:贪心策略,每次都选择当前剩余药水中浓度最小的那一瓶,这样的话对于整体浓度的提升最小。AC代码://贪心 每次选择浓度最低的解药#include<iostream>#include<stdio.h>#include<queue>#include<vector>#include<functional>us...原创 2019-09-06 20:53:29 · 189 阅读 · 0 评论 -
HDOJ 2037 区间贪心 + 优先队列
题目链接解题思路:区间贪心,贪心策略为每次选择结束时间最早的区间,同时使用了优先队列来按照结束时间的前后保存各个区间。AC代码:#include<iostream>#include<stdio.h>#include<queue>#include<vector>#include<functional>using names...原创 2019-09-06 20:20:20 · 299 阅读 · 0 评论 -
查找 九度教程第20题 二分查找 水~
题目链接输入数组长度 n 输入数组 a[1…n] 输入查找个数m 输入查找数字b[1…m] 输出 YES or NO 查找有则YES 否则NO 。输入描述:输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m,n<=100)。输出描述:如果在n个数组中输出YES否则输出NO。示例1输入51 5 2 4 332 5...原创 2019-09-06 16:47:02 · 300 阅读 · 0 评论 -
POJ 3768 Repeater 分形图 DFS 先排版后输出
题目链接题目大意:输入一个n表示原始图案的行和列,要求按照原图案的样子重复m次,求最后的图像。解题思路:模拟+DFS,先排版后输出。AC代码:#include<iostream>#include<string>#include<stdio.h>#include<string.h>#include<math.h>usin...原创 2019-09-05 21:57:58 · 251 阅读 · 0 评论 -
sort 九度教程第11题 Hash思想 + 以空间换时间思想
题目链接Problem Description给你n个整数,请按从大到小的顺序输出其中前m大的数。Input每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。Output对每组测试数据按从大到小的顺序输出前m大的数。Sample Input5 33 -35 92 213...原创 2019-09-05 20:08:41 · 231 阅读 · 0 评论 -
打印日期 九度教程第9题 水~
题目链接给出年分m和一年中的第n天,算出第n天是几月几号。输入描述:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述:可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。示例1输入2000 32000 312000 402000 602000 612001 60输出200...原创 2019-09-04 21:58:40 · 267 阅读 · 0 评论 -
今年的第几天? 九度教程第8题 水~
题目链接输入年、月、日,计算该天是本年的第几天。输入描述:包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输出描述:输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。示例1输入1990 9 202000 5 1输出263122AC代码:...原创 2019-09-04 21:53:54 · 222 阅读 · 0 评论 -
Day of Week 九度教程第7题 求某一天是周几
题目链接题目大意:输入一个日期,要求输出该日期为星期几。解题思路:先确定原点日期,然后我们只需要求出所给的日期与今天的日期相隔了几天,将差值对7求余数,再根据今天是星期几,便能得出答案。AC代码:#include<iostream>#include<algorithm>#include<string>#include<string.h&g...原创 2019-09-04 21:40:16 · 181 阅读 · 0 评论 -
查找学生信息 九度教程第18题 二分查找
题目链接输入N个学生的信息,然后进行查询。输入描述:输入的第一行为N,即学生的个数(N<=1000)接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104输出描述:输出M行,...原创 2019-09-06 16:01:56 · 360 阅读 · 0 评论 -
To Fill or Not to Fill 九度教程第25题 较为复杂的贪心策略
题目链接With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Differ...原创 2019-09-07 15:40:56 · 722 阅读 · 0 评论 -
简单计算器 九度教程第27题 用栈模拟计算器的模板题
题目链接读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入描述:测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出描述:对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。示例1输入1 + 24 + 2 * 5 - 7 /...原创 2019-09-08 10:02:17 · 213 阅读 · 0 评论 -
HDOJ 1285 确定比赛名次 九度 OJ1449 拓扑排序模板+优先队列
题目链接Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(...原创 2019-09-11 20:19:40 · 201 阅读 · 0 评论 -
九度OJ1100 最短路径(需要使用高精度整数) 高精度整数+dijkstra算法
题目链接N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离输入描述:第一行两个正整数N(2<=N<=100)M(M<=500),表示有N个城市,M条道路接下来M行两个整数,表示相连的两个城市的编号输出描述:N-1行,表示0号城市到其他城市的最短路,如果无法到达,输出-1,数值太大的以MOD 100000...原创 2019-09-11 16:42:15 · 269 阅读 · 0 评论 -
POJ 3767 九度OJ 1162 I wanna go home 最短路径 dijkstra算法
题目链接DescriptionThe country is facing a terrible civil war----cities in the country are divided into two parts supporting different leaders. As a merchant, Mr. M does not pay attention to politics b...原创 2019-09-11 16:28:50 · 234 阅读 · 0 评论 -
POJ 1251 Jungle Roads 九度 OJ1154 最小生成树问题 输入转换
题目链接题目大意:给你无向图中每条边的长度,要你求该图的最小生成树。其中每个顶点用大写字母A-Z表示。解题思路:最小生成树问题,这里使用的是Kruskal算法,注意转换输入格式。笔记:scanf()函数输入的时候,%s比%c使用起来更加方便,因为%s不需要考虑空格和换行符的问题AC代码:将scanf函数的输入全部换成注释掉的cin输入也可以AC#include<iostream...原创 2019-09-11 09:37:51 · 248 阅读 · 0 评论 -
Freckles 九度OJ 1144 POJ 2560 最小生成树模板题 Kruskal算法
题目链接DescriptionIn an episode of the Dick Van Dyke show, little Richie connects the freckles on his Dad’s back to form a picture of the Liberty Bell. Alas, one of the freckles turns out to be a scar...原创 2019-09-10 21:04:55 · 215 阅读 · 0 评论 -
九度 OJ1446 Head of a Gang PAT1034 并查集+map容器的使用
题目链接One way that the police finds the head of a gang is to check people’s phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined t...原创 2019-09-10 18:15:18 · 240 阅读 · 0 评论 -
HDOJ 2035 人见人爱A^B 九度教程第57题 快速幂模板题
题目链接Problem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。Output对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。Sample In...原创 2019-09-09 16:44:07 · 151 阅读 · 0 评论 -
数制转换 九度教程第44题 a进制数转换为b进制数 不同进制之间相互转换
题目链接解题思路:1、将a进制数转换成十进制数;2、将十进制数转换成b进制数;3、使用do while 循环,可以确保即使被转换数字是 0 ,程序也能正常工作。AC代码:#include<iostream>#include<string.h>using namespace std;char ans[50];int main() { int a, b;...原创 2019-09-08 15:12:20 · 2395 阅读 · 0 评论 -
哈夫曼树 九度教程第30题 优先队列小顶堆
题目链接哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出描述:输出权值。示例1输入51 2 2 5 9输出37解...原创 2019-09-08 11:00:25 · 243 阅读 · 0 评论 -
日期差值 九度教程第6题
题目链接有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值示例1输入2011041220110422输出11解题思路:确定一个原点日期,当要求两个特定日期之间的天数差时,我们只要将它们与原点日期的天数差相减,便能得到这两个...原创 2019-09-04 19:57:16 · 176 阅读 · 0 评论 -
二叉搜索树 九度教程第36题 判断两颗二叉树是否相同
题目链接判断两序列是否为同一二叉搜索树序列输入描述:开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出描述:如果序列相同则输...原创 2019-09-02 21:57:03 · 357 阅读 · 0 评论 -
二叉排序树 九度教程第35题 二叉排序树的构建与遍历
题目链接来源:牛客网输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的...原创 2019-09-02 20:24:26 · 354 阅读 · 0 评论 -
Coincidence (九度教程第98题) 最长公共子序列(LCS) 动态规划
Find a longest common subsequence of two strings.输入描述:First and second line of each input case contain two strings of lowercase character a…z. There are no spaces before, inside or after the string...原创 2019-08-13 20:23:11 · 191 阅读 · 0 评论 -
字符串的查找删除(九度教程第104题)
题目描述:给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。输入:输入只有 1 组数据。输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。输出:删除输入的短字符串(不区分大小写)并去掉空格,输出。样例输入:in#includeint main(){printf(" Hi ");}样例输出:#cludetma(){...原创 2019-07-31 08:11:26 · 897 阅读 · 0 评论 -
a+b 大整数相加
题目描述实现一个加法器,使其能够输出a+b的值。输入描述:输入包括两个数a和b,其中a和b的位数不超过1000位。输出描述:可能有多组测试数据,对于每组数据,输出a+b的值。样例输入:2 610000000000000000000 10000000000000000000000000000000样例输出:810000000000010000000000000000000解题...原创 2019-06-29 18:11:56 · 1562 阅读 · 0 评论 -
合唱队形 动态规划 最长递增子序列
1.题目描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK, 则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i &l...原创 2019-07-04 20:55:30 · 612 阅读 · 0 评论 -
胜利大逃亡 hdoj 1253 BFS
Ignatius 被魔王抓走了,有一天魔王出差去了,这可是 Ignatius 逃亡的好机会.魔王住在一个城堡里,城堡是一个 ABC 的立方体,可以被表示成 A 个 B*C 的矩阵,刚开始 Ignatius 被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,现在知道魔王将在 T 分钟后回到城堡,Ignatius 每分钟能从一个坐标走到相邻的六个坐标中的其中一个.现...原创 2019-07-03 15:40:21 · 230 阅读 · 0 评论 -
old bill 枚举
题目描述:Among grandfather’s papers a bill was found.72 turkeys $679The first and the last digits of the number that obviously represented the total price of those turkeys are replaced here by blanks (...原创 2019-07-03 11:34:11 · 222 阅读 · 0 评论 -
字符串内排序 九度教程第5题
题目描述:输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。输入:测试数据有多组,输入字符串。输出:对于每组输入,输出处理后的结果。样例输入:bacd样例输出:abcd代码:#include<iostream>#include<algorithm>#include<string>using namespa...原创 2019-04-15 23:33:27 · 611 阅读 · 0 评论 -
Excel排序 九度教程第4题
题目描述:Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。输入:测试...原创 2019-04-15 23:05:31 · 418 阅读 · 0 评论 -
特殊排序 九度教程第3题
题目描述:输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。输入:输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。接下来的一行有N个整数。输出:可能有多组测试数据,对于每组数据,第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。第二行将排序的结果输出。样例输入:41 3 4 2样例输出:41 2...原创 2019-04-15 21:38:03 · 238 阅读 · 0 评论 -
最小生成树小结(MST问题) Kruskal 算法 Prim算法 POJ 1258 HDOJ 1233
Kruskal 算法Prim算法原创 2019-08-25 19:24:22 · 391 阅读 · 0 评论 -
HDOJ 1879 继续畅通工程 Prim算法或Kruskal算法
Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1< N &l...原创 2019-08-26 10:19:59 · 176 阅读 · 0 评论 -
HDOJ 1019 Least Common Multiple 最小公倍数 LCM
Problem DescriptionThe least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 1...原创 2019-08-26 16:18:33 · 231 阅读 · 0 评论 -
树查找 九度教程第34题 完全二叉树的性质
题目链接有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。示例1输入41 2 3 42输出2 3考察知识点:完全二...原创 2019-09-02 16:57:48 · 503 阅读 · 0 评论 -
二叉树九度教程第33题
题目链接考点:完全二叉树的性质AC代码:#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;int d(int x) {//返回层次 int tmp = 1; while (x > 1) { tmp++; x /= 2; } ret...原创 2019-09-02 16:32:46 · 293 阅读 · 0 评论 -
二叉树遍历 九度教程第32题 由二叉树的前序遍历与中序遍历确定该二叉树
添加链接描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长度n...原创 2019-09-02 15:01:02 · 287 阅读 · 0 评论