小白兔的故事

小白兔很委屈的撤了。 第二天,她戴着帽子蹦蹦跳跳的走出家门,又遇到大灰狼,他走上来“啪啪”又给了小白兔两个大嘴巴,说“我让你戴帽子!” 兔兔郁闷了。 思量了许久,最终决定去找森林之王老虎投诉。说明了情况后,老虎说“好了,我知道了,这件事我会处理的,要相信组织哦”。 当天,老虎就找来自己的哥们儿大灰狼。“你这样做不妥啊,让老子我很难办嘛。”说罢抹了抹桌上飘落的烟灰:“你看这样行不行哈?” “你可以说,兔兔过来,给我找块儿肉去!她找来肥的,你说你要瘦的。她找来瘦的,你说你要肥的。这样不就可以揍她了嘛。” “当然,你也可以这样说。兔兔过来,给我找个女人去。她找来丰满的,你说你喜欢苗条的。她找来苗条的,你说你喜欢丰满的。可以揍她揍的有理有力有节奏”。 大灰狼频频点头,拍手称快,对老虎的崇敬再次冲向新的颠峰。 不料以上指导工作,被正在窗外给老虎家除草的小白兔听到了。心里这个恨啊。 次日,小白兔又出门了,怎么那么巧,迎面走来的还是大灰狼。 大灰狼说:“兔兔,过来,给我找块儿肉去。” 兔兔说:“那,你是要肥的,还是要瘦的呢?” 大灰狼听罢,心里一沉,又一喜,心说,幸好还有B方案。 他又说:“兔兔,麻利儿点给我找个女人来。” 兔兔问:“那,你是喜欢丰满的,还是喜欢苗条的呢?” 大灰狼沉默了2秒钟,抬手更狠的给了兔兔两个大耳帖子。 “靠,我让你不戴帽子。”

思修身养性 [二]

很不幸~ 后来更新数据库时造成2年前的数据全成了乱码! 今天偶然发现妹妹的blog上有转贴我以前的文章,便再发一次.
1、误会: 
  早年在美国阿拉斯加地方,有一对年轻人结婚,婚后生育,他的太太因难产 而死,遗下一孩子。他忙生活,又忙于看家,因没有人帮忙看孩子,就训练一只狗,那狗聪明听话,能照顾小孩,咬着奶瓶喂奶给孩子喝,抚养孩子。    有一天,主人出门去了,叫它照顾孩子。    他到了别的乡村,因遇大雪,当日不能回来。第二天才赶回家,狗立即闻声出来迎接主人。他把房门开一看,到处是血,抬头一望,床上也是血,孩子不见了,狗在身边,满口也是血,主人发现这种情形,以为狗性发作,把孩子吃掉了,大怒之下,拿起刀来向着狗头一劈,把狗杀死了。 

QQ登录失败 – 系统维护中

QQ登录失败一例 – 系统维护中

【QQ  版本】Build 15.67.330
【QQ  号码】47404844
【操作系统】Microsoft Windows 2000 Service Pack 4 [Build 5.0.2195]

【网络设置】局域网内使用透明代理
【登录过程】
—————————————————————————
开始登录……时间[2006-08-24 04:38:28]
初始化登录服务器列表,上次的登录方式为【UDP登录方式】
尝试UDP方式登录,先创建UDP网络组件
创建UDP网络组件成功,本地IP【61.52.***.***】,端口【4000】,直接登录上一次登录过的服务器,
确定登录UDP服务器IP【219.133.49.172】,端口【8000】
向登录服务器发送新登录第一步骤数据
收到服务器登录第一步骤的回应,回应成功,发送第二步骤的数据
发送登录第一步骤的数据成功,发送第二步骤的数据
收到登录服务器登录第二步骤的回应,登录失败,原因:登录失败,提示信息: 系统维护中,请稍后再登录

王家卫式的文章,歌特式呐喊!

灯火阑珊时,睡了
不知道何时,来到了一个梦想已久的世界,前世…………
好蓝,好蓝的天……
好蓝,好蓝的海……
片片白云,就象你的心,没有丝毫挂念;蓝蓝海水,就象生活,无比的平淡,今日无浪。
漫步在沙滩,悠然,轻松,爽凉,…………一切都在身边……
就在无边的沙滩上出现了你无法想象的…………
不远的地方出现一个身影,它躺着,近来才发现,是具女尸………………
她好漂亮,好美…………
好惋惜,为什么她有如此的命运,有这样的结果…………
(第一个)
惋惜之后,能为她做些什么?
黯然走过…………
(第二个)
世界如此的不公平,让她这样光静的离开…………
我悄然脱下外衣,为她当住未来的风雨……
(第三个)
难道她有什么应得到的惩罚么?就这样走掉……
没有原因的将她安葬……
许久…………
今世…… 她转世之后来到我面前,
是与我擦肩而过……
与我相恋……
默默陪伴我一生………………
你是她第几个路过的人呢!!

由”王家卫” 式的文章,因发的歌特式呐喊!

灯火阑珊时,睡了
不知道何时,来到了一个梦想已久的世界,前世…………
好蓝,好蓝的天……
好蓝,好蓝的海……
片片白云,就象你的心,没有丝毫挂念;蓝蓝海水,就象生活,无比的平淡,今日无浪。
漫步在沙滩,悠然,轻松,爽凉,…………一切都在身边……
就在无边的沙滩上出现了你无法想象的…………
不远的地方出现一个身影,它躺着,近来才发现,是具女尸………………
她好漂亮,好美…………
好惋惜,为什么她有如此的命运,有这样的结果…………
(第一个)
惋惜之后,能为她做些什么?
黯然走过…………
(第二个)
世界如此的不公平,让她这样光静的离开…………
我悄然脱下外衣,为她当住未来的风雨……
(第三个)
难道她有什么应得到的惩罚么?就这样走掉……
没有原因的将她安葬……

许久…………

今世……

她转世之后来到我面前,
是与我擦肩而过……
与我相恋……
默默陪伴我一生………………

你是她第几个路过的人呢!!

评:

一位仁兄喝的差不多后,Q上对我说”我很有感觉,要写点东西!”.
我很是期待!

第一次退回

半小时后收到他的有感所书.
.doc的文件,  我没装Office~~~
退回~~~

这次是.txt,简单的还是最好的!

第二次退回

看过,我差点晕倒 ,什么乱七八糟的… …
即像诗,又像词,似乎并没有什么感情.
我让他重写… 对话如下~~

<喝多的”王家卫”> 22:20:12
看是不是都有了,给修改下

<喝多的”王家卫”> 22:20:15
发给我

βuホ鈧馥S?22:19:02
哦,弄了给专职作家样

βuホ鈧馥S?22:19:14
海带给你审搞!

βuホ鈧馥S?22:19:27
欢迎来搞啊

<喝多的”王家卫”> 22:21:39

βuホ鈧馥S?22:21:10
重写!

<喝多的”王家卫”> 22:22:39
为什么

βuホ鈧馥S?22:21:32
我靠,给 2046样,看不懂!

<喝多的”王家卫”> 22:23:06
啊哦,我想也是

<喝多的”王家卫”> 22:23:13
我重写啊

<喝多的”王家卫”> 22:23:23
==

βuホ鈧馥S?22:22:06
还弄3短故事 …

βuホ鈧馥S?22:22:16
日了,王家卫!?

<喝多的”王家卫”> 22:23:57
开头可以不

βuホ鈧馥S?22:22:58
都睡了还写啥?

βuホ鈧馥S?22:23:21
我看完感觉我喝多了!

<喝多的”王家卫”> 22:24:45
那两个字去掉

歌特摇滚般的梦幻呐喊

他竟然真的认真的去改了. 那时我在听 Sum41 的 Pieces
那时我已经开始写这篇评了.
不久收到了最后的完稿 , 那时我听的是 Evanescence 的 Bring Me To Life (Daredevil OST).
我体会到了完全不同的感觉,犹如这首哥特式摇滚一样,我感觉到了梦幻中的呐喊.

下面使我们当时的对话:

βuホ鈧馥S?22:55:35
我们买吉他去吧

<喝多的”王家卫”>  22:57:06
我不会啊

βuホ鈧馥S?22:55:53
我也不会

βuホ鈧馥S?22:56:24
可我很早就想学,想呐喊!

<喝多的”王家卫”>  22:57:31
那我有个条件

<喝多的”王家卫”>  22:57:57
我也是

βuホ鈧馥S?22:56:50
什么条件

<喝多的”王家卫”>  22:58:06
在看么

βuホ鈧馥S?22:56:54
看呢

<喝多的”王家卫”>  22:58:12
我可要发表了

<喝多的”王家卫”>  22:58:32
条件就是,有时间你要陪我到我那里,我们一起练习,

βuホ鈧馥S?22:57:29
发~ 我的评论也快完了

<喝多的”王家卫”>  22:59:13

βuホ鈧馥S?22:57:56
我也希望,工作是个问题

βuホ鈧馥S?22:58:11
管住嘛?

<喝多的”王家卫”>  22:59:54
管,吃如果没有太高要求,都可以管

βuホ鈧馥S?22:58:55
能睡就行

<喝多的”王家卫”>  23:00:02
我发表了啊

βuホ鈧馥S?22:58:56

最后:

我对音乐也什么都不会,只在学校学过军乐,吹了2年巴松管.

可突然间,我想组个乐队,为自己的呐喊伴奏!

选了几首个送给喜欢的朋友们!

Groove Coverage – Moonlight Shadow(Piano)

Linkin Park – From the Inside

Evanescence – Bring Me To Life

Sum41 – Pieces

Limp Bizkit – Behind Blue Eyes

Good bye,and night !

Orz 和 WTF 的含义?

最近经常去国外的网站查资料,发现在老外的论坛里经常出现 Orz 和 WTF 这两个词。

开始不明白,它们也的确不是单词。

在网上查了才知道。

Orz = ○| ̄|_

中文翻译为:失意体前屈

事实上Orz,可以说是一个象形文字。O是这个人头,r是手和上半身,z是腿和脚。
就是一个人跪倒在地上。感叹网络的想象力和创作力。

看了很多论坛,Orz 似乎在亚洲的使用率比欧美更高。

它也有着很多的含义,如:”拜托”,”请求”,”拜托”,

也有 “我败了!”,”受不了你!”,”别这样了!”,”我错了!”的意思。

 

台湾的五月天于2005年8月发表的歌曲

《恋爱ing》

中就有:
“超感谢你,让我重生,整个Orz,让我重新认识 love”一句。

以下是从网络收集的各种失意体前屈的表示法

 

全形:

_| ̄|○ ← 右向

○| ̄|_ ← 左向

○|_| ̄ ← 逆天

半形:

STO ← 右向

OTZ ← 左向

OLS ← 左向逆天

ZJO ← 右向逆天

半形小写:

sto ← 右向

orz ← 左向

ots ← 左向逆天

z_/o ← 右向逆天

迷你形:

no ← 右向

on ← 左向

ou ← 左向逆天

uo ← 右向逆天

其他:

orz 这是小孩…

OTZ 这是大人…

or2 这是屁股特别翘的…

Or2 这是头大身体小的翘屁股…

orZ 这是下半身肥大…

OTz 这是举重选手吧…

○rz 这是大头… (=。=)

●rz 这是黑人头先生…

Xrz 这是刚被爆头完…

6rz 这是魔人普乌…

On 这是婴儿… crz 这是机车骑士…

囧rz 这是念ㄐㄩㄥˇ…

崮rz 这是囧国国王…

莔rz 这是囧国皇后…

商rz 这是戴斗笠的囧…

st冏 楼上的他老婆吗…

sto 换一边跪… 曾rz ←假面超人…

★rz ←武藤游戏….

口rz ← 豆腐先生.

__Drz ← 爆脑浆…

===============================================

WTF = What The F a c K!?

在英文中是不良用语,中文翻译大致是:”这是什么东西”。很有我们“什么玩意!”的意思。

在网络中出现的,特别是论坛,一般也是上面的意思。

但也有 “晕~”,”倒~”,”什么啊”,”无聊”,”没事找事”,”受不了”的意思,大致也有猫扑中”BT”的含义。

还要注意了,WTF 是世界跆拳道联盟的缩写,也是WTF是韩国跆拳道的英文缩写。

别看到就以为是骂人的啊~~ 呵呵

几天都在看韩剧《浪漫满屋》,记得有一段很有意思,男主角的无语也可以用WTF的方式表示:

女主角:一只兔子和一只跑的很快的乌龟赛跑,谁赢了?
男主角:兔子吧?

女主角:乌龟赢了,都说了是跑的很快的乌龟了!

男主角:wtf …

女主角:一只兔子和一只带着墨镜的乌龟赛跑,谁赢了?

男主角:… … 兔子赢了?

女主角:不对!乌龟赢了,因为它把墨镜摘下来以后----原来就是那只跑的很快的乌龟!

男主角:wtf …

呵呵~~

我不 WTF 了!! 关电脑睡觉!

设计获胜策略

一个好的取胜之道是制定在竞赛中指导你行动的策略。无论是在好的情况下还是在坏的情况下,它将帮助你决定你的行动。用这种方法你可以在竞赛中将时间花费在解决编程问题上而不是试图决定下一步该干什么…这有点像预先计算好你面对各种情况的反应。

心理上的准备也很重要。

竞赛中的策略

首先通读所有的题目;草拟出算法,复杂度,数量,数据结构,微妙的细节,…

  • 集体讨论所有可能的算法 —— 然后选择最“笨”但却可行的算法。(注:请注意这一点,对参赛选手来说获奖就是唯一目的)
  • 进行计算!(空间和时间复杂度,并且加上实际期望和最坏情况下的数量)
  • 试图证明该算法错误——使用特殊的(退化的)测试数据。
  • 将问题排序:根据你所需付出的努力,将能够最快解决的问题排在前面。(答题的次序为:以前做过的,容易的,不熟悉的,难的)

编写程序解决一个问题 —— 对每一道题而言,一次一道题

  • 确定算法
  • 构造特殊情况的测试数据
  • 写出数据结构
  • 编写并测试输入子程序(编写额外的子程序来显示数据输入的正确性)
  • 编写并测试输出子程序
  • 逐步细化:通过写注释来刻划程序的逻辑轮廓
  • 一个部分一个部分地填充并调试代码
  • 完成代码使其正常运转,并验证代码的正确性(使用一般情况的测试数据)
  • 试图证明代码错误——使用特殊情况的测试数据来验证代码正确性
  • 逐渐优化——但足够了即可,并且保存所有的版本(使用最坏情况的(即运行时间长的)测试数据来计算出实际运行时间)

时间安排策略和“故障控制”方案

制定一个计划决定在各种(可预测的)故障发生时的行动;想象你可能遇到的问题并计算出你所希望做出的反应。核心问题是:“你何时花费更多的时间在调试程序上,你何时放弃并继续做下一题?”。考虑以下问题:

  • 你已经花费了多长时间来调试它?
  • 你可能有什么样的BUG?
  • 你的算法有错吗?
  • 你的数据结构需要改变吗?
  • 你是否对什么地方可能会出错有一些头绪?
  • 花费较短的时间(20分钟)在调试上比切换去做其他别的事要好;但是你或许能够在45分钟内解决另一个问题(A short amount (20 mins) of debugging is better than switching to anything else; but you might be able to solve another from scratch in 45 mins.)
  • 你何时返回到一个你先前放弃的问题?
  • 你何时花费较多的时间优化一个程序,你何时放弃当前优化工作而切换去作其他事?
  • 从这点考虑出去(Consider from here out)——忘记先前的努力,着眼于将来:你如何才能就你目前所有的抓住下一个小时。

在你上交你的答案之前列出一个校验表:

  • 在竞赛结束前五分钟结束编写代码(Code freeze five minutes before end of contest)。
  • 将所有的声明关闭。
  • 将调试输出关闭。
  • 确认输入输出文件名正确。
  • 确认输入输出格式正确。
  • 重新编译并再测试一次。
  • 将文件以正确的文件名复制到正确的位置(软盘)。

提示和技巧

  • 如果可以就用暴力法(即穷举法)解决 (注:居然将这条作为技巧,可见竞赛的目的就是获奖,为此要“不择手段”。)
  • KISS(=Keep

全面地考虑问题

在编程序时常常会遇到这样的问题:一道很简单的题目,编出的程序却错了很多测试点。这其中的主要原因是由于考虑问题不全面,只想到了一些普通的情况,而遗漏了很多特殊的地方。

下面通过几个例子来进行讨论。

1.项链(IOI’93第一题)

由n(n≤100)个珠子组成一个项链,珠子有红、蓝、白三种颜色,各种颜色的珠子的安排顺序由输入文件任意给定。

图1.1可看作由字符b(代表蓝色珠子)和字符r(代表红色珠子)所组成的字符串。假定从项链的某处将其剪断,把它摆成一直线,从一端收集同种颜色珠子(直到遇到另一种颜色的珠子时停止)。然后再从另一端重复上述过程(请注意,这一端珠子的颜色不一定和另一端珠子的颜色相同)。

brbrrrbbbrrrrbrrbbrbbbbrrrrb

图 1.1

请选择项链被剪断的位置,目标是使两端各自颜色相同的珠子数目之和最大。例如,对于上图(只有红蓝两种颜色),最大值M是8,断点位置在珠子9和珠子10之间,或珠子24和珠子25之间。

项链中可以有三种颜色用b(蓝)、r(红)和w(白)表示。白色既可看成是红色,又可看成蓝色。

(1)一个ASCII文件NECKLACE.DAT中的内容:该文件中每一行代表某个项链中各种颜色珠子的配置。把输出内容写入ASCII输出文件NECKLACE.SOL中。

作为举例,输入文件的内容可以是:

brbrrrrbbbbrrrrrbbrbbbbrrrrb

bbwbrrrwbrbrrrrb

(2)对于给定的每个项链的配置,求出收集到的珠子数的最大值M及相应的断点位置(注意可能存在多个位置)。

(3)在输出文件NECKLACE.SOL中写入收集到的珠子数的最大值M及断点位置。

例如:

brbrrrbbbrrrrrbbrbbbbrrrrb

8 between 9 and 10

bbwbrrrwbrbrrrrrb

10 between 16 and 17

作为竞赛的第一题,这道题目显然是比较简单的题目。它只包含两个步骤:剪断项链和收集同颜色的珠子。例如下面的一条项链(a)从N=3处断开变为项链(b)。这个操作只需要将前N个珠子移到后边即可。

    brb | rrwb ------> rrwbbrb
       (a)               (b)

现在只剩下收集同颜色的珠子这一步,根据上面的例子我们很容易写出下面的程序。

用变量c来记录最左边珠子的颜色;

Left:=0;

FOR i:=1 TO 项链长度 DO

IF 左数第i个珠子的颜色与c相同

THEN Inc(Left)

ELSE Break;

这样变量Left中存放的就是从左边收集到的珠子的数目,同理可求得从右边收集到的珠子的数目Right,则所求的值为Lett+Right。这个程序显然能通过上面的例子,由于这是一道简单的题目,谁也不想在它上面多费时间,往往做到此为止。可是如果仔细想想, 再举几个例子,就会发现错误。上面的那条项链断开后左有两个珠子为红色和蓝色,在题目中这两种颜色的珠子都比较”普通”,只有白色的珠子比较”特殊”。所以应举一个断开后左右两端有白色珠子的例子。还是上面那条项链入N=6处断开。

brbrrw| b——->bbrbrrw

正确答案应是收集到5个珠子:左边2个,有边3个。而上面的程序得到的结果却是3个:左边2个,右边1个。错误就在于没有考虑到左右两端有白色珠子的情况。一种较容易的解决方案是先将左有两端的白色珠子均取下,记其数目为Other,再用上面的程序来求,结果为Left十Right十Other。我们解决了左右两端出现白色珠子的情况,还有没有别的特殊情况呢?一个真正”特殊”的项链不应包含所有颜色的珠子,最好只包含一种颜色。 如下面的项链是由l0个红色的珠子组成。

rrrrrrrrrr

用我们的程序得出的结果是20个,显然是不对的。因为题目中要求是收集珠子而不是数珠子,所以最后得到的总数不应超过珠子的总数。这虽然只是一个字眼的问题,却使当年中国队的选手失了不少分。一个简单的改正措施是判断最后的结果是否大于珠子总数,如果是则输出珠子的总数即可。

虽然项链这道题比较简单,却很难”简单”地得到满分,最容易出的错误就是考虑的不全面。

2.多项式加法

由文件输入两个多项式的各项系数和指数,编程求出它们的和,并以手写的习惯输出此多项式。

要求:

(1)多项式的每一项axb用axb的格式输出。

(2)两个多项式在文件中各占一行,每行有2m个数,依次为第一项的系数,第一项的指数,第二项的系数,第二项的指数……

例如输入文件为:

l 2 3 0

-l 1

输出:

x2-x+3

此题是一道大学生竞赛的题目,很多人只用了很短的时间就编出程序。但最后测试的结果却令他们很惊讶:通过的数据还不到一半!他们犯的错误归根结底就是考虑得不够全面。

此题对于多项式相加的过程很简单,只要找出幂次相同的项相加即可。关键在于题目中要求用符合手写的习惯输出结果。何为手写的习惯呢?例如多项式3x2-x中就有很多手写的习惯。我们不会将其写成3x2一lx1+O。因为首先当某项系数为1时,我们习惯于不写系数;其次对于一次项我们也要省略指数;还有我们从来不写出系数为0的项。一个简单的多项式就有这么多的手写习惯,我们已经感觉到了要把这题全面地做出很不容易。虽然我们平时总在写多项式,但是谁也不会留心我们写多项式时的习惯。我们写多项式的习惯究竟有哪些呢?

(1)首先我们考虑对于多项式中的任一项axb它有多少手写习惯:

  • 当a=0时,此项省去不写;
  • 当a=l时,省去a;
  • 当a=-1时,系数只写一个负号’-‘;
  • 当b=0时,省去x和b;
  • 当b=l时,省去b;
  • 当a<一1时,省去此项前面的加号(首项除外)。

我们一口气写了这么多条规则,每一条看起来都很正确,但合在一起是否还正确呢?当a=l或-1时要省去其中的数字1,这是针对一般情况而言。如果b=0,则数字1就不应当省去。所以我们不仅要单独考虑a和b,而且要将其和起来考虑。

(2)其次对于整个多项式有哪些规则呢?

  • 多项式的首项系数前不应有加号’+’;
  • 如果一个多项式为零多项式,则应写出数字’0’。

现在看起来这道题并不是一道很容易的题目。它需要一个人在很短的时间内能全面地总结出上述那么多规则。这对一个人的全面考虑问题的能力是一个很好的检验。

3.求最长的公共子串(NOI’93第一题)

求N个字符串的最长公共子串,N<20,字符串长度不超过255。例如N=3,由键盘 依次输入3个字符串为

What is local bus ?

Name some local buses.

local bus is a high speed I/O bus close to the processor.

则最长公共子串为”local bus”。

此题也是作为第一题出现,同样有很多入在此题上失分。我们都做过求n个数最大公 约数的问题,在那道题中求3个数的最大公约数时,可以先求两个数的最大公约数,再将此数与第三个数求一次最大公约数。有人从那道题中得到”启发”,设s(p,q)为字符串p 和q的最长公共子串,则p、q、r的最长公共子串为s(s(p,q),r)。这样只需编写一个求两个字符串的最长公共子串的过程即可。但这种方法对不对呢?看看下面的例子。

三个字符串分别为’abc’、’cab’、’c’,则s(p,q)=’ab’,s(s(p,q).r)=”。事实上这三个字符串有公共子串’c’。显然上面的算法是错误的,原因在于没有考虑到本题与求最大公约数那道题在性质上的不同之处。最大公约数可以由局部解得到全局解,而本题却不能。正确的做法是列举出其中一个字符串的所有子串,找出其中最长的而且是公共的子串。

FOR i:=l TO 第一个字符串的长度 DO

FOR j:=i TO 第一个字符串的长度 DO

IF (第i个字符到第j个字符的子串为公共子串)AND(j-i+1>当前找到的最长公共子串的长度max)

THEN

BEGIN

max:=j-i+l;

最长公共子串:=此子串;

END;

为了提高效率,我们可以将最短的字符串作为第一个字符串。此题需要考虑的并不像多项式加法那道题那么多,但是它提醒我们在不清楚题目的性质之前,不能滥用以前的方法。

4.可重复排列(NOI’94第一题)

键盘输入一个仅由小写字母组成的字符串,输出以该串中任取M个字母的所有排列及排列总数(输入数据均不需判错)。

此题是由全排列问题转变而来,不同之处在于:一个字符串中可能有相同的字符,导致可能出现重复的排列。例如从字符串’aab’中取2个字符的排列只有三种:’aa’、’ab’、’ba’。如何去掉那些可能重复的排列呢?一种想法就是每产生一种不同的排列就记录下来,以便让以后产生的排列进行比较判重。这种想法显然没有考虑到随着字符串长度的增加,排列将会多得无法记录,而且这种判重方法在效率上也会很低。最好有一种方法能在产生排列的过程中就能将重复的去掉。先看一看全排列的递归过程

PROCEDURE Work(k);
BEGIN