摘要: 本文来源:http://star.baidu.com/forum/forum.php?mod=viewthread&tid=487&extra=page%3D1广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用――除了面试的时候。实际工程中一般都是用现成的模块,一般只需了解算法的目的和时空复杂度即可。 不过话说回来,面试的时候面算法,包括面项目中几乎不大可能用到的算法,其实并不能说是毫无道理的。算法往往是对学习和理解能力的一块试金石,难的都能掌握,往往容易的事情不在话下。志于高者得于中。反之则不成立。另一方面,虽说教科书算法大多数都是那些即便用到 阅读全文
posted @ 2013-03-22 14:25 牧童不吃蛋炒饭 阅读(1167) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=32 1 /** 2 时间:2013年1月23日11:35:41 3 需求:理解回溯法;求解组合数问题; 4 状态:完成; 5 */ 6 #include <iostream> 7 using namespace std; 8 #define MAX 100 9 int a[MAX];10 void combine(int n,int r)11 {12 int i=0,j;13 a[i] = 1;14 do{15 if(a[i] <= n-r+1+... 阅读全文
posted @ 2013-01-23 12:11 牧童不吃蛋炒饭 阅读(384) 评论(0) 推荐(0)
摘要: 题目虽然简单但是当初还是烦了不少错误。 1 #include <stdio.h> 2 int main() 3 { 4 int a,b,n; 5 a = b = 0; 6 while(scanf("%d",&n) != EOF) 7 { 8 if(n > a) 9 {10 b = a;11 a = n;12 }13 else if(n < a && n > b)14 {15 b = n;16 }1... 阅读全文
posted @ 2012-12-27 16:04 牧童不吃蛋炒饭 阅读(264) 评论(0) 推荐(0)
摘要: 喷水装置(一)时间限制:3000ms | 内存限制:65535KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。输入第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。输出输出所用装置的个数样例输入252 3.2 4 4.5 6 阅读全文
posted @ 2012-12-10 17:19 牧童不吃蛋炒饭 阅读(242) 评论(0) 推荐(0)
摘要: 韩信点兵时间限制:3000ms | 内存限制:65535KB难度:1描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。输入输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5输出输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89样例输入2 阅读全文
posted @ 2012-05-09 23:00 牧童不吃蛋炒饭 阅读(409) 评论(0) 推荐(1)
摘要: 矩形的个数时间限制:1000 ms | 内存限制:65535 KB难度:1描述在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。给出A,B,计算可以从中找到多少个矩形。输入本题有多组输入数据(<10000),你必须处理到EOF为止输入2个整数A,B(1<=A,B<=1000)输出输出找到的矩形数。 样例输入1 23 2样例输出318来源FOJ月赛-2007年3月分析:这道题有两种方法:第一种:(1+2+3+4+5……+n)*(1+2+3+4+5+6+7+8+……m)#incl 阅读全文
posted @ 2012-05-09 21:15 牧童不吃蛋炒饭 阅读(264) 评论(0) 推荐(0)
摘要: 南工198,我用了一个switch,最优程序用了个递归就搞定了,看来仍需努力啊!革命尚未成功,牧童还在努力! 题目 198 数数时间限制:3000 ms | 内存限制:65535 KB难度:2描述我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。因此当他看到123时会说“321”。现在有一位德国来的教授在郑州大学进行关于ACM的讲座。现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。现在你已经找到了对应的页码,要用英文把页码告诉他。为了简化我们的问题,你只需要返回单词的大写的首字母。(数字0读成字母O 阅读全文
posted @ 2012-05-09 19:54 牧童不吃蛋炒饭 阅读(169) 评论(0) 推荐(0)
摘要: 阶乘因式分解(一)时间限制:3000ms | 内存限制:65535KB难度:2描述给定两个数m,n,其中m是一个素数。将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。输入第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m。输出输出m的个数。样例输入2100 516 2样例输出2415解题:这道题主要是减少算法的时间复杂度,用数学方法解决。如果球出阶乘再做因式分解,一定会超时,而且工作量大,不可取。现在有一种方法可以解决这一问题。将m除以n的值保留然后再让该值除以n如此往复,并将每次求得的值相加就得到想要的结果。 阅读全文
posted @ 2012-05-02 21:01 牧童不吃蛋炒饭 阅读(343) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/a_eagle/article/details/7376464经典解题,先放在这,慢慢看。 阅读全文
posted @ 2012-04-24 20:34 牧童不吃蛋炒饭 阅读(155) 评论(0) 推荐(0)
摘要: Problem Aflip时间限制:1000ms | 内存限制:65535KB描述Give you a non-negative integer x and an operation. The only operation you can do is to reverse one bit in binary form of xonce(i.e 1->0, 0->1).your goal is to turn x into x+1.Calculate the minimum times of operations you need to do.输入The first line of 阅读全文
posted @ 2012-04-22 18:26 牧童不吃蛋炒饭 阅读(199) 评论(0) 推荐(0)