C++ ACM竞赛
戈谣
不曾阅尽千帆,谈何归来不变
展开
-
C++实现嵌套矩阵
题目描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者 b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排 成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。输入第一行是一个正正数N(0<N<1...原创 2018-07-10 21:42:15 · 753 阅读 · 0 评论 -
移动小球-C++-链表实现
题目描述:你有一些小球,从左到右依次编号为1,2,3,…,n,你可以执行两种指令。其中A X Y表示把小球X移动到小球Y左边,B X Y表示把小球X移动到小球Y右边。指令保证合法,即X不#include <iostream>using namespace std;struct ball{ int number; struct ball *next;};bal...原创 2018-07-18 00:09:38 · 1371 阅读 · 0 评论 -
任意集合的子集生成--C++实现
题目描述:任意给定一个集合,集合中不含相同元素,要求打印出该集合所有的子集。输入描述:第一行输入该集合的元素个数。第二行输入该集合的所有元素。输出描述:按照字典序从小到大输出该集合的所有子集。样例输入:51 6 5 3 2样例输出:11 21 2 31 2 3 51 2 3 5 61 2 3 61 2 51 2 5 61 2 61 31 3 ...原创 2018-07-24 11:18:42 · 1727 阅读 · 0 评论 -
C++实现—层次遍历
题目描述:输入一颗二叉树,你的任务是按从上到下,从左到右的顺序输出各个节点的值。每个节点都按照从根节点到它的移动序列给出(L表示左,R表示右)。在输入中,每个节点的左括号和有括号之间没有空格,相邻节点之间用一个空格隔开。每棵树的输入用一对空括号()结束(这对括号本身不代表一个节点)。注意,如果从根到某个叶节点的路径上有的节点没有在输入中给出,或者给出了超过一次,应当输出-1.节点个数不超过25...原创 2018-07-18 22:46:30 · 3474 阅读 · 0 评论 -
生成可重集的排列-C++递归实现
题目描述:输入一个数组p,按照字典序从小到大输出p中元素所有的排列样例输入:32 1 2样例输出1 2 22 1 22 2 1#include <iostream>#include <string.h>#include <algorithm>using namespace std;void print_permuta...原创 2018-07-22 21:28:07 · 598 阅读 · 0 评论 -
压栈实现四则运算--C++实现
问题描述:输入一串由符号和数字组成的四则运算,输出答案。注:数字仅有0-9组成,符号由‘+’,‘-’,‘*’,‘/’;组成。样例输入:9+8*4+5*6+3+4/2-1样例输出:75解题思路:今天课上老师介绍的压栈,弹栈法非常适合于解这种类型的题,不仅四则运算,命题公式的运算或括弧的删除等都可以用此方法,而且也不难理解。通过这道例题的解答,读者应该能基本掌握了。代码有详细注...原创 2018-08-01 20:42:40 · 1699 阅读 · 1 评论