`
文章列表
1.文件的复制 #include<iostream> #include<fstream> #include<io.h> #include<windows.h> using namespace std ; /**复制文件 filename :要复制的文件名 newfile :要复制到的文件名 */ int cpy(char*filename,char*newfile) { ifstream in ; ofstream out ; /** open函数的原型是 open(const c ...
                    说实话,上了大学,我感觉比读高中还难受,高中要学的都已经固定了,无非就会那7门课,就算在扩展点,也不会跑出这个界限,老师已经为我们铺好了路,走起来也不会感到困惑和迷茫,然而大学就不同了,再也没有会揪着你不放,要你搞学习的老师,接下来的路就要自己走了,有些人找到了前进的方向,顺着走下去了,他就会发现大学的生活非常充实。有些人不知所措,恍恍终日,蹲在寝室玩游戏就是一个例子,我认为大多数大学生泡在寝室打游戏,其实并不是因为游戏有多么多么的吸引人,多么让人沉醉其中,无法自拔。就我而言,大一打了一年游戏,刚学c++的时候,老师说话说的又快,说的又不大清楚,我记得刚 ...
在常规表达式求值中: 输入为四则运算表达式,仅由数字、+、-、*、/ 、(、) 组成,没有空格,要求求其值. 我们知道有运算等级,从左至右,括号里面的先运算,其次是* 、/,再是+、- ; 这样我们就可以用递归来表达这个式子了: 1.                          2.             3.                  这样就可以用递归来描述了 1.  /** 求一个因子的值 */ double factor_value(){ double result = 0 ; char c = cin.peek();//从cin看 ...
2694:逆波兰表达式 总时间限制: 1000ms 内存限制: 65536kB 描述 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。 输入 输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。 输出 输出为一行,表达式的值。可直接用printf("%f\n", v)输出表达式的值v。 样例输入 * + ...
1979:Red and Black 总时间限制: 1000ms 内存限制: 65536kB 描述 There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can't move on red tiles, h ...
总时间限制: 3000ms 内存限制: 65536kB 描述 如上图所示,由正整数1,2,3……组成了一颗二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。 输入 输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 <= m <= n <= 1000000000)。最后一组测试数据中包括两个0,表示输入的结束,这组数据不用处理。 输出 ...
   神奇的口袋 总时间限制: 10000ms 内存限制: 65536kB   描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。 输入 输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a ...
1664:放苹果 总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。 输出 对输入的每组数据M和N,用一行输出相应的K。 样例输入 1 7 3 样例输出 8 思考方法: 1.先分情况讨论: 设函数fun(m,n) 来计算有多少种不同的分法 (1)如果n>m ,即盘子数 ...
总时间限制: 1000ms 内存限制: 65536kB 描述 There are nine clocks in a 3*3 array (figure 1). The goal is to return all the dials to 12 o'clock with as few moves as possible. There are nine different allowed ways to turn the dials on the clocks. Each such way is called a move. Select for ...

poj 1035

总时间限制: 2000ms 内存限制: 65536kB 描述 现在有一些英语单词需要做拼写检查,你的工具是一本词典。需要检查的单词,有的是词典中的单词,有的与词典中的单词相似,你的任务是发现这两种情况。单词A与单词B相似的情况有三种: 1、删除单词A的一个字母后得到单词B; 2、用任意一个字母替换单词A的一个字母后得到单词B; 3、在单词A的任意位置增加一个字母后得到单词B。 你的任务是发现词典中与给定单词相同或相似的单词。   输入 第一部分是词典中的单词,从第一行开始每行一个单词,以"#"结束。词典中的单词保证不重复,最多有10000个。第二部分 ...
总时间限制: 1000ms 内存限制: 65536kB 描述 假设这里有36张扑克牌,分别为A1~A9,B1~B9,C1~C9,D1~D9,其中A代表方片,B代表草花,C代表红桃,D代表黑桃,那么,设定如下的排序规则: 1.对于两张卡牌,X1Y1与X2Y2,X1与X2表示A~D,Y1与Y2表示1~
总时间限制: 1000ms 内存限制: 65535kB 描述 给定一个正整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。 注意:N<=100,000,000。 输入 第一行为N,表示有N个输入。接下来有N行,每一行包括一个正整数。 输出 对于每个输入,每行输出结果。 样例输入 2 5 10 样例输出 1 2 这是一个简单的题,但是想要直接一个个乘出来,再来计算末尾0绝对行不通。      仔细想想,末尾0的个数最大关系是和5有关,一个5对应一个0,所以只要计算出 总数里面能拆出多少个5 ; ...
螺旋矩阵: 输入一个小于10的数n 当n=4时:                                         当n=5时:  16   6   7   8                                          25 10 11 12 13  15   1   2   8  ...
                                     八皇后问题                      八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。            用回溯法解决该问题: G ...
1.你知道怎么判断一个字符串是不是整数? 有三种方法解决以上问题 1.使用Character.isDigit(char)判断 String str = "123sad" ; if(!"".equals(str)){ //字符串不为空  char num[] = str.toCharArray();//把字符串转换为字符数组  StringBuffer a = new StringBuffer();//使用StringBuffer类,把非数字放到a中  StringBuffer b = new StringBuffer();//把数字放到b中 ...
Global site tag (gtag.js) - Google Analytics