[HTS]HackThisSite心得之一:Permanent Programming第一关

开篇之作。随便写写啦

写Permanent Programming的第1关的一些心得吧

Permanent Programming的目的是通过编程,在给定时间内完成给定的任务,有些OI的味道。比较好玩的,对程序感兴趣的朋友,可以来尝试一下。

关卡描述

Level 1
This level is about unscrambling words.
Find the original (unscrambled) words, which were randomly taken from a wordlist.<-- Send a comma separated list of the original words, in the same order as in the list below. You have 30 seconds time to send the solution. List of scrambled words: ahtber、wodole、atpror、hrteab、semils、eylvol、mcieeacr、orsswpad、ktigneh、hankeirt Answer: (Example: word1,word2,word3, ... word9,word10)

关卡解释
本关需要你对单词进行选择。
预先给你一份wordlist,然后列出其中10个单词的字母重组。
而给出这10个单词经过不同的排列方式,形成了一个莫名其妙的单词。
你的任务就是把这些单词在wordlist中对应的单词依次找出来。

关卡分析与思路
一般来说,最简单最直接的思路就是拿每个词去完全的匹配wordlist。
但我认为这样做很不好,毕竟每个单词的字母重组的可能性有很多。
会导致一个很大的运算量。也就导致很浪费电,也就很不环保~~

那么怎样来简化这个过程呢?
首先,遍历wordlist是几乎无法避免的,但遍历几次是可以调整的。
其次,如何处理字母重组的问题,我们无法准确的知道该单词是什么,但我们可以想出一种与顺序无关的可能
最后,具体实现上,可以考虑构造一种只与所含字母有关,而与字母顺序无关的算法。

发表评论

邮箱地址不会被公开。 必填项已用*标注