java实现第四届蓝桥杯三部排序】的更多相关文章

三部排序 题目描述 一般的排序有许多经典算法,如快速排序.希尔排序等. 但实际应用时,经常会或多或少有一些特殊的要求.我们没必要套用那些经典算法,可以根据实际情况建立更好的解法. 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部.注意问题的特点是:负数区域和正数区域内并不要求有序.可以利用这个特点通过1次线性扫描就结束战斗!! 以下的程序实现了该目标. static void sort(int[] x) { int p = 0; int left = 0; i…
剪格子 题目描述 如图p1.jpg所示,3 x 3 的格子中填写了一些整数. 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60. 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等. 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目. 如果无法分割,则输出 0 程序输入输出格式要求: 程序先读入两个整数 m n 用空格分割 (m,n<10) 表示表格的宽度和高度 接下来是n行,每行m个正整数,用空…
连号区间数 题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的"连续"数列,则称这个区间连号区间. 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助. 输入格式: 第一行是一个正整数N (1 <= N <= 50000), 表示全排列的规模…
危险系数 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF(x,y): 对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点.相应的,对于任意一对站点x和y,危险系数DF(x,y)就表示为这两点之间的关键点个数. 本题的任务是:已知网络结构,求两站点之间的危险系数. 输入数据第一行包含…
公式求值 输入n, m, k,输出图1所示的公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如图2所示. 输入的第一行包含一个整数n:第二行包含一个整数m,第三行包含一个整数k. 计算图1所示的公式的值,由于答案非常大,请输出这个值除以999101的余数. [样例输入1] 3 1 3 [样例输出1] 162 [样例输入2] 20 10 10 [样例输出2] 359316 [数据规模与约定] 对于10%的数据,n≤10,k≤3: 对于20%的数…
快速排序 题目描述 快速排序算法是典型的分治思想的运用.它使用某个key把全部元素分成两组,其中一组的元素不大于另一组.然后对这两组再次进行递归排序. 以下代码实现了快速排序.请仔细阅读代码,填写缺少代码的部分. static void f(int[] x, int left, int right) { if(left >= right) return; int key = x[(left+right)/2]; int li = left; int ri = right; while(li<=…
阶乘位数 题目描述 如图p1.jpg所示,3 x 3 的格子中填写了一些整数. 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60. 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等. 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目. 如果无法分割,则输出 0 程序输入输出格式要求: 程序先读入两个整数 m n 用空格分割 (m,n<10) 表示表格的宽度和高度 接下来是n行,每行m个正整数,用…
大臣的旅费 题目描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达.同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的. J是T国重要大臣,他巡查于各大城市之间,体察民情.所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情.他有一个钱袋,用于存放往来城市间的路费. 聪明的J发现,如果不在某个城市停下来…
梅森素数 题目描述 如果一个数字的所有真因子之和等于自身,则称它为"完全数"或"完美数" 例如:6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 早在公元前300多年,欧几里得就给出了判定完全数的定理: 若 2^n - 1 是素数,则 2^(n-1) * (2^n - 1) 是完全数. 其中 ^ 表示"乘方"运算,乘方的优先级比四则运算高,例如:2^3 = 8, 2 * 2^3 = 16, 2^3-1 = 7 但人们很快…
带分数 题目描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0). 类似这样的带分数,100 有 11 种表示法. 题目要求: 从标准输入读入一个正整数N (N<1000*1000) 程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数. 注意:不要求输出每个表示,只统计有多少表示法! 例如: 用户输入: 100 程序输出: 11 再例…