- 博客(16)
- 收藏
- 关注
原创 贪心问题 B: 出租车费
题目描述某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。 一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。 例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。 现在给你整个行程
2017-09-24 20:44:00 1865
原创 贪心问题 A: 看电视
题目描述 暑假到了,小明终于可以开心的看电视了。但是小明喜欢的节目太多了,他希望尽量多的看到完整的节目。 现在他把他喜欢的电视节目的转播时间表给你,你能帮他合理安排吗?输入 输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示小明喜欢的节目的总数。 接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整
2017-09-23 22:21:56 1141
原创 递归问题 D: 八皇后
题目描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。 对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。 给出一个数b,要求输出第b个串。
2017-09-23 21:40:47 707
原创 问题 C: 神奇的口袋
题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n <= 20),表示
2017-09-19 22:42:13 989 1
原创 1069. 微博转发抽奖
小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数M(<= 1000)、N和S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从1开始)。随后M行,顺序给出转发微博的网友的昵称(不超过20个字符、不包含空格回车的非空字符串)。注意:可能有人转发多次,但不能中奖多次。
2017-09-13 22:02:13 335
原创 1023: 坑爹的黑店
题目描述今天小明去了一个风景如画的地方散心,但是自己带的饮料喝完了,小明口渴难耐,见不远处有家小商店,于是跑去买饮料。小明:“我要买饮料!”店主:“我们这里有三种饮料,矿泉水1.5元一瓶,可乐2元一瓶,橙汁3.5元一瓶。”小明:“好的,给我一瓶矿泉水。”说完他掏出一张N元的大钞递给店主。店主:“我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿。”小明:“……”小明环顾四周
2017-09-10 19:50:18 938
原创 1021: 恶搞指数
题目描述 小明的朋友过生日,小明准备了一件礼物,不过小明想恶搞一下他的朋友,所以他准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。 用()表示一个盒子,B表示礼物,小明想让你帮他算出恶搞指数,即最少需要拆多少个盒子才能拿到礼物。输入描述 输入包含多组测试数据。每组测试数据是一个长度不大于1000,只包含(,)和 B 三种字符的字符
2017-09-09 15:24:11 831
原创 关于字符的问题
题目描述 现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。 用R代表石头,S代表剪子,P代表布。 输入格式 输入的第一行是一个整数t(0#include<stdio.h> int main() { int m,n,i,j,s1,s2; char a,b; scanf ("%d",&m);//测试样例数目 for (i = 1;i <
2017-09-09 14:14:45 342
原创 堆中的路径
将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数
2017-03-30 19:26:50 390
转载 二叉树的三种遍历方法(转载)
#include<iostream> #include<stack> //STL #include<queue> using namespace std; class Tree { public: Tree *Left; Tree *Right; char data; Tree(); //成员函数 void
2017-03-24 19:25:22 358
原创 03-树2 List Leaves
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification:Each input file contains one test case. For each case, the first line gives a pos
2017-03-21 20:21:48 282
原创 03-树1 树的同构
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数NN (\le 10≤10),即该树的结点数(此时假
2017-03-21 19:41:23 308
原创 用堆栈实现后序遍历的非递归程序
借助堆栈可以实现前序遍历、中序遍历的非递归程序,而且两者的程序结构几乎一样。 那么,是否也可以借助堆栈实现后序遍历的非递归程序?是不是挪动一下printf语句就可以了? (通过给节点增加访问次数的属性来实现,伪代码如下)void PostOrderTraversal(Bintree BT) { //给节点增加访问次数的属性Visit,初始化为0 Bintree T BT; St
2017-03-20 20:21:15 2891
原创 黄金分割查找
在二分查找中,我们是取mid等于left和right的中间值,即用等分的方法进行查找。 那为什么一定要等分呐?能不能进行“黄金分割”?也就是mid=left+0.618(right-left),当然mid要取整数。如果这样查找,时间复杂性是多少?也许你还可以编程做个试验,比较一下二分法和“黄金分割”法的执行效率。 (本例用C语言中的CLOCK来测定程序时间)#include <stdio.h>
2017-03-18 11:07:08 2685
原创 多项式乘法与加法运算(链表实现)
#include<iostream> using namespace std; typedef struct PolyNode *Polynomial; struct PolyNode { int coef; int expon; Polynomial link; };void Attach(int c, int e, Polynomial *pRear){ Poly
2017-03-09 20:29:42 716
原创 素数对猜想
输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。 输入样例: 20 输出样例: 4 #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; bool is_prime(int n); int main() { int N; cin
2017-03-07 18:07:30 367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人