摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include<iostream>#include<algorithm>using namespace std;int a[3000001];/*bool cmp(int a, int b){ return a>b; //a>b为从大到小,sort默认从小到大}*/int main (){ int nCase,i; while(scanf("% 阅读全文
posted @ 2010-04-12 21:34 SubmarineX 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 集合划分问题I Time limit: 1000MS Memory limit: 32768K Total Submit: 174 Accepted: 64 问题描述:n个元素的集合{1,2,, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2,3},{1},{4}},{{2,4},{1},{3}},{{3,4},{1},{2}},{{1,2},{3,4}},{{1,3},{2,4}},{{1 阅读全文
posted @ 2010-04-12 20:24 SubmarineX 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 排列的字典序问题 Time limit: 1000MS Memory limit: 32768K Total Submit: 104 Accepted: 38 问题描述:n个元素{1,2,, n }有n!个不同的排列。将这n!个排列按字典序排列,并编号为0,1,…,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6 个不同排列的字典序值如下:字典序值 01 2 3 4 5排列 123 132 213 231 312 321算法设计:给定n以及n个元素{1,2,, n }的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列。数据输入:输出元素个数n。接下来的1 行是n个 阅读全文
posted @ 2010-04-12 19:56 SubmarineX 阅读(6399) 评论(0) 推荐(1) 编辑
摘要: 众数问题 Time limit: 5000MS Memory limit: 32768K Total Submit: 1128 Accepted: 276 问题描述:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。对于给定的由n 个自然数组成的多重集S,计算S的众数及其重数。数据输入:输入多重集S中元素个数n;接下来的n行中,每行有一个自然数。结果输出:输出第1行给出众数,第2 行是重数。Sample Input6122235Sample Output23注意本题数据 阅读全文
posted @ 2010-04-12 14:25 SubmarineX 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 士兵站队问题 Time limit: 1000MS Memory limit: 32768K Total Submit: 154 Accepted: 76 问题描述:在一个划分成网格的操场上,n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x 和y的值才能使士兵们以最少的总移动步数排成一列。算法设计:计算使所有士兵排成一行需要的最少移动步数。数据输入:输入士兵数n,1<=n< 阅读全文
posted @ 2010-04-12 12:26 SubmarineX 阅读(970) 评论(0) 推荐(0) 编辑