TopCoder Marathon Match 36 用のライブラリ関数
もうあと1日しか残ってないけれど MM36が始まったので、前回(http://d.hatena.ne.jp/Horiuchi_H/20080612/1213242021)にさらに引き続き起動用の関数を、と思ったのですが今回は visualizerを使わない問題なのでそれはなくなりました。代わりに、パスワードの候補を読み出す関数が必要なのでそれを用意しました。ただ、そんなに難しいものでも無いので必要かどうか疑問ですけど^^;ソースは下に張っておきます。
さて、MM36は暗号化されたテキストを解読するというものです。暗号化方式は提示されているので、暗号化キーを捜していく感じになるかと思います。問題文は以下のとおりです*1。
http://www.topcoder.com/longcontest/?module=ViewProblemStatement&rd=12202&pm=9798
このクラスの使い方。問題文に「Available Libraries」として提供されているものなので、Commitの際には不要になります。コンパイルを通すのに、以下のファイルを Words.java として保存しておくと便利です。また起動時にファイルを読み込むので、「TWL word list」のファイルを起動する場所に置いてください。
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Words { private static final String LOAD_FILE_NAME = "TWL06.txt"; private static final List<String> list = new ArrayList<String>(); public static String[] getWords() { return list.toArray(new String[0]); } static { try { BufferedReader reader = new BufferedReader(new FileReader(LOAD_FILE_NAME)); while (reader.ready()) { list.add(reader.readLine()); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }