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)

キーワード

Google 開発者 クイズ 2010 しりとり ソースコード 

ジャパンのホームページ


DevQuiz しりとりで使ったプログラム #gdd2010jp 関連リンク

DevQuizやってみましたが・・・ #gdd2010jp
Google Developer Day 2010 Japan」への参加証を獲得するためのクイズ「DevQuiz」をやってみました。結果はラウンド3のしりとりLv3までクリアして時間切れ終了でした。「パックマン」は難しかったですね。結局、仕...

DevQuiz しりとりで使ったプログラム #gdd2010jp トラックバック

トラックバックURL :


DevQuiz しりとりで使ったプログラム #gdd2010jpへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前の投稿      次の投稿 >

アクセスランキング

今日のアクセスランキング TOP 10

  1. FX最強ツール「Infinity(川ツールを使った高額インジ)」販売で話題のFX系YouTubeチャンネル #詐欺とは言えないようだが (5 PV)
  2. FC2動画やYouTubeなどから無料動画(映画やドラマ、アニメ、音楽など)を探す方法 (4 PV)
  3. Twitter がワーム攻撃を受ける (4 PV)
  4. [将棋]NHK杯2回戦第1局は増田康宏四段が雁木っぽい戦型で深浦康市九段の矢倉を粉砕 (4 PV)
  5. Windows 10の大型アップデート「Windows 10 Creators Update」が配信開始 (4 PV)
  6. 個人向けのRSS広告配信サービス (4 PV)
  7. Google(グーグル)検索 日本版 - ウェブ、画像の検索 (4 PV)
  8. Google 日本語入力がオープンソースに (4 PV)
  9. 嘘でしょ?忍者は実在した!「秘伝 伊賀流忍術の奥義」が動画で公開 (4 PV)
  10. GPL(GNU General Public License) (4 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (65 PV)
  2. 2NN 2ちゃんねるニュース速報+ナビ (53 PV)
  3. 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (37 PV)
  4. Google News (グーグルニュース)日本版 (22 PV)
  5. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (21 PV)
  6. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (20 PV)
  7. [PR]noteで販売している自作EAの一覧 (20 PV)
  8. MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (16 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (16 PV)
  10. 究極の爆益ゴールドナンピンマーチンEA「Extreme(エクストリーム)」 MT4向け (16 PV)

アクセス統計

ディレクトリ

関連サイト