摘要:归并排序先来看看合并排序(分治法)分别用两个新数组来存前后两部分,前提两个都是排好序的;然后从两个数组中选出较小的,赋给原数组,较大的放回,然后循环就行了MERGE(A, p, q, r)1 n1 ← q - p + 12 n2 ← r - q3 create arrays L[1 ‥ n1 + 1] and R[1 ‥ n2 + 1]4 for i ← 1 to n15 do L[i] ← A[p + i - 1]6 for j ← 1 to n27 do R[j] ← A[q + j]8 L[n1 + 1] ← ∞9 R[n2 + 1] ← ∞10 ...
阅读全文
摘要:奇妙的迷宫Time Limit:1000MSMemory Limit:65535KBSubmissions:6Accepted:1Description本题中你的任务是写一支可以画迷宫的程式,这个迷宫由A-Z,26个字母及*(星号)和空白字元组成。你的程序必须从input读入迷宫的信息,输入将包含数列字元,你的程序必须依照指示画出迷宫。迷宫的每一行都会借由一系列的数字和字元来表达,数字代表这个字元被使用多少次。如果数字超过一位数则这个字元重复出现的次数为每一位数相加的总和。Input在input中小写的"b"代表空白字元,惊叹号(!)以及换行都代表结束一列。 迷宫的行数并没
阅读全文
摘要:表达式的转换Time Limit:5000MSMemory Limit:65535KBSubmissions:56Accepted:19Description平常我们书写的表达式称为中缀表达式,因为它将运算符放在两个操作数中间,许多情况下为了确定运算顺序,括号是不可少的,而后缀表达式就不必用括号了。后缀标记法:书写表达式时采用运算紧跟在两个操作数之后,从而实现了无括号处理和优先级处理,使计算机的处理规则简化为:从左到右顺序完成计算,并用结果取而代之。例如:8-(3+2*6)/5+4可以写为:8 3 2 6*+5/-4+ 其计算步骤为:(1):8 3 2 6 * + 5 / -4 + (2):.
阅读全文