DevQuiz しりとりで使ったプログラム #gdd2010jp
まず、今回のクイズのしりとりに勝つため私が考えた作戦は、相手(コンピュータ)に、先頭に使用されているより末尾に使用されている数が多いアルファベットの単語から選ばせるようにすれば、そのうち相手が手詰まりになって勝てるだろうというものでした。
そのため、選択肢となる単語に使用されている先頭のアルファベットと末尾のアルファベットの数を調べるためのプログラムを作成し、その結果をもとに以下の優先順位で回答を選択していきました。
1.単語の末尾が先頭の方が少ないアルファベットのもの
2.単語の末尾が先頭と末尾で同じアルファベットのもの
3.単語の末尾が先頭の方が多いアルファベットのもの
例えばLv3の場合、以下のような結果になるので、提示される選択肢の中からできるだけ末尾が、b、f、g、i、k、q、s、u、v、wのものを選択していけば良いということになります。
a : 14 11 >> b : 11 12 <<! c : 4 4 == e : 4 4 == f : 11 12 <<! g : 11 12 <<! h : 4 4 == i : 4 5 <<! j : 14 11 >> k : 11 12 <<! l : 3 3 == m : 4 4 == n : 3 3 == o : 14 11 >> p : 4 4 == q : 11 12 <<! r : 3 3 == s : 11 12 <<! t : 4 4 == u : 11 12 <<! v : 11 12 <<! w : 11 12 <<! y : 4 4 == z : 5 4 >>
--- siritori.pl
#!/usr/bin/perl
#
# GDD 2010 DevQuiz しりとり
#
use strict;
use warnings;
my %alpha_head = ();
my %alpha_tail = ();
open my $infh, '<', "siritori.txt";
while (my $word = <$infh>) {
chomp $word;
my $head = substr($word, 0, 1);
my $tail = substr($word, length($word) - 1, 1);
$alpha_head{$head}++;
$alpha_tail{$tail}++;
}
close $infh;
foreach my $key (sort keys %alpha_head) {
print "$key :" . sprintf("%4d", $alpha_head{$key});
print " " . sprintf("%4d", $alpha_tail{$key});
if ($alpha_head{$key} < $alpha_tail{$key}) {
print " <<!\n";
}
elsif ($alpha_head{$key} > $alpha_tail{$key}) {
print " <<\n";
}
else {
print " ==\n";
}
}
[2003] Posted by kagahiro at 2010/08/23 17:18:13
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)
キーワード
Google 開発者 クイズ 2010 しりとり ソースコード
DevQuiz しりとりで使ったプログラム #gdd2010jp 関連リンク
| DevQuizやってみましたが・・・ #gdd2010jp | |
| 「Google Developer Day 2010 Japan」への参加証を獲得するためのクイズ「DevQuiz」をやってみました。結果はラウンド3のしりとりLv3までクリアして時間切れ終了でした。「パックマン」は難しかったですね。結局、仕... | |
DevQuiz しりとりで使ったプログラム #gdd2010jp トラックバック
トラックバックURL :
DevQuiz しりとりで使ったプログラム #gdd2010jpへのコメント
アクセスランキング
今日のアクセスランキング TOP 10
- C# (2 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
- 動画共有サイト - ニコニコ動画 (2 PV)
- シストレ(システムトレード) - コンピューターシステムで株や通貨を自動売買 (2 PV)
- アボガドのオリーブオイル漬け (2 PV)
- Windows Vista Capable PC (2 PV)
- ハッピーハッキングキーボード(HHKB、Happy Hacking Keyboard) (2 PV)
- ブログを利用したECサイト向け口コミ広告サービス (2 PV)
- jig.jp、「jigベンチマーク 2.0.0」をリリース (2 PV)
- TypePad デベロッパーリソース(日本語版) (2 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (163 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (126 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (79 PV)
- FC2まとめ (38 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (35 PV)
- MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (32 PV)
- 2ちゃんねる(2ch) (30 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (29 PV)
- 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (27 PV)
- USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (24 PV)
アクセス統計
ディレクトリ
関連サイト