Zombie's Treasure Chest 本题题意:有一个给定容量的大箱子,此箱子只能装蓝宝石和绿宝石,假设蓝绿宝石的数量无限,给定蓝绿宝石的大小和价值,要求是获得最大的价值 题解:本题看似是dp中的背包问题,但是由于数据量太大,用dp肯定会超时,所以只能寻找另外一种思路,可以用贪心加暴力,先 Read More
posted @ 2017-08-08 17:13 木子丘 Views(260) Comments(0) Diggs(0) Edit
题意:本题意为煎饼排序,大的放在上面,小的放在下面(此题输入是从上到下输入的),为煎饼排序是通过一系列的“翻转”动作来完成的。翻转动作就是将一个小铲插到一叠煎饼中的某两个煎饼之间,然后用小铲将上面的所有煎饼翻转(即为将小铲上面的子栈倒转过来)。输出翻转的位置,即小铲上面子栈中最底下一个煎饼的位置号。 Read More
posted @ 2017-08-03 17:21 木子丘 Views(277) Comments(0) Diggs(0) Edit
士兵队列训练问题 士兵队列训练问题 士兵队列训练问题 士兵队列训练问题 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行 Read More
posted @ 2017-08-03 11:16 木子丘 Views(281) Comments(0) Diggs(0) Edit
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15228 Accepted: 6778 Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下 Read More
posted @ 2017-08-02 20:57 木子丘 Views(234) Comments(0) Diggs(0) Edit
Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 51411 Accepted: 16879 Description Farmer John wants to repair a small length o Read More
posted @ 2017-08-02 17:12 木子丘 Views(122) Comments(0) Diggs(0) Edit
题意:将多叉树转化为括号表示法,每个非叶结点的正下方都有一个'|'然后下方是一排'-'和字符,恰好覆盖所有子结点的正上方,单独的一行‘#’为数据的结束标志 解题思路:用gets将字符数组输入,本题不用建树,直接用广度优先递归求解,同时注意对空树的处理(需要单独判断),以及结点的符号不一定是字母,也可 Read More
posted @ 2017-08-02 09:18 木子丘 Views(115) Comments(0) Diggs(0) Edit
本题的题意是输入起点,朝向和终点,求一条最短路径(多解时任意输出一个即可) 本题的主要代码是bfs求解,就是以下代码中的slove的主要部分,通过起点按照路径的长度来寻找最短路径,输出最先到终点的一系列点 以下代码中,用两个数组保存四个方向,运用函数walk()表示结点的方向变换,通过d[][][] Read More
posted @ 2017-08-01 10:41 木子丘 Views(227) Comments(0) Diggs(0) Edit
题意:对于每一棵树,每一个结点都有它的水平位置,左子结点在根节点的水平位置-1,右子节点在根节点的位置+1,从左至右输出每个水平位置的节点之和 解题思路:由于上题所示的遍历方式如同二叉树的前序遍历,与天平那题不同,本题不需要构造出完整的结点左右子树,只需要构造出结点的相对位置,每次输入一个结点树,若 Read More
posted @ 2017-07-27 09:58 木子丘 Views(157) Comments(0) Diggs(0) Edit
题意:输入一个树状的天平,利用杠杆原理,根据力矩是否相等(W1D1==W1D2)判断天平是否平衡 解题思路:1.由于判断天平是否平衡,当W1和W2都为0的时候,会先输入左子树,再输入右子树 2.此时的W1和W2会变成子树的重量之和,此时最好用到引用(同时改变传入参数的值) 3.递归的输入,并且判断子 Read More
posted @ 2017-07-26 22:30 木子丘 Views(164) Comments(0) Diggs(0) Edit
题意:给一棵点带权的二叉树的中序和后序遍历,找一个叶子使得他到根的路径上的权值的和最小,如果多解,那该叶子本身的权值应该最小 解题思路:1.用getline()输入整行字符,然后用stringstream获得字符串中的数字 2.用数组in_oder[]和post_order[]分别表示中序遍历和后序 Read More
posted @ 2017-07-26 20:33 木子丘 Views(189) Comments(0) Diggs(0) Edit