C/CPP
文章平均质量分 67
gscienty
Talk is cheap show me the code.
展开
-
【设计模式】-命令模式(method)
把方法调用封装起来,通过封装方法调用,可以把运算块包装成形。调用此运算的对象不需要关心事情是如何进行的,只要知道如何使用包装成形的方法来完成它就可以了。原创 2015-01-23 14:58:55 · 542 阅读 · 0 评论 -
【题解】-航电OJ-1465 不容易系列之一
Problem Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了! 做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样。 话虽这样说,我还是要告诉大家,要想失败到一定程度也是不容易的。比如,我高中的时候,就有一个神奇的女生,在英语考试的时候,竟然把40个单项选择题全部做错了!大家都学过概率论,应该原创 2015-02-28 01:30:31 · 1243 阅读 · 0 评论 -
CSDN英雄会-第五届在线编程大赛月赛第三题:石子游戏(1)
题目详情 甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。 两人轮流按下列规则取走一些石子,游戏的规则如下: 1.每一步应取走至少一枚石子; 2.每一步只能从某一堆中取走部分或全部石子; 3.如果谁无法按规则取子,谁就是输家。 如果甲乙两人都采取最优的策略,甲先拿,请问,是甲必胜还是乙必胜. 输入格式: 多组数据,每组数据两行,第一行是一个整原创 2015-02-24 01:59:38 · 1737 阅读 · 0 评论 -
犯罪团伙
问题描述:警察抓到了n个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中一些罪犯之间互相认识,已知同一犯罪团伙的成员之间直接或者间接认识,有可能一个犯罪团伙只有一个人。请你根据已知罪犯之间的关系,确定犯罪团伙的数量。已知罪犯的编号从1到n。输入:第一行:n(n第二行:m(m输出:一个整数,犯罪团伙的数量。采原创 2015-01-24 22:11:33 · 1660 阅读 · 0 评论 -
堆排序(heapsort)
堆的性质堆排序的时间复杂度是O(n lgn) ,使用一种称之为“堆”的数据结构来进行信息管理。堆不仅在堆排序中,也可以构造一种有效的优先队列。堆是一个数组,它可以看成一棵完全二叉树。树上的每个结点对应数组中的一个元素。除了最底层外,保证树是完满的,而且是从左向右填充的。二叉堆分为两种形式:最大堆和最小堆在最大堆中,最大堆的性质是指除了根结点以外的所有结点i都要满足A[paren原创 2015-01-24 18:29:22 · 493 阅读 · 0 评论 -
航电OJ-2035 人见人爱A^B
人见人爱A^B Problem Description 求A^B的最后三位数表示的整数。 说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。 Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每原创 2015-02-25 19:00:30 · 1095 阅读 · 0 评论 -
【题解】 英雄会-第五届在线编程大赛月赛第二题:走格子
题目详情 我们有一个两行n列格子的棋盘,你可以从任何位置出发。每次你可以沿着上下左右以及对角线的方向走一格(不能出去),求有多少条可能的哈密尔顿路?(即所有的格子只经过一次的路。) 例如: a b c d e f 一条可能的路径是b,f,c,e,d,a 输入格式: 多组数据,每组数据1行,包含一个正整数n表示列数。 (n <= 1原创 2015-02-26 19:09:17 · 1118 阅读 · 0 评论 -
Ubuntu初探-GCC编译
由于部分功能的需要,在某活动送的移动硬盘上安装上Ubuntu玩玩,本想装Redhat工作站什么的耍耍,奈何功力太浅,又无心研究,先拿这一款操作系统练练手。对GCC是什么就不赘述了。对于一个程序,可以一步到位地编译:gcc test.c -o test但仅仅局限在这样便捷的操作上,太对不起自己的求知欲了。实质上,上述命令是简化了四个步骤:预编译(Preprocessing)、原创 2015-01-24 01:59:37 · 564 阅读 · 0 评论 -
快速排序(quick sort)
void quick_sort(int* array, int l){ if(!l) return; int head = 1; int tail = l; int middle = 0; while(head < tail){ while(array[tail] >= array[middle] && head < tail) tail--; while(array[head原创 2015-01-26 16:39:06 · 619 阅读 · 0 评论 -
【设计模式】-模板方法模式(Template)
模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。class ITemplate{ public: virtual ~ITemplate(){} virtual void templateMethod(){ operation1原创 2015-01-27 18:07:06 · 518 阅读 · 0 评论 -
【题解】-航电OJ1013 Digital Roots
Problem Description The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resu原创 2015-02-28 01:04:39 · 1208 阅读 · 0 评论