[date:20100823]の検索結果


まず、今回のクイズのしりとりに勝つため私が考えた作戦は、相手(コンピュータ)に、先頭に使用されているより末尾に使用されている数が多いアルファベットの単語から選ばせるようにすれば、そのうち相手が手詰まりになって勝てるだろうというものでした。

そのため、選択肢となる単語に使用されている先頭のアルファベットと末尾のアルファベットの数を調べるためのプログラムを作成し、その結果をもとに以下の優先順位で回答を選択していきました。

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 Developer Day 2010 Japan」への参加証を獲得するためのクイズ「DevQuiz」をやってみました。結果はラウンド3のしりとりLv3までクリアして時間切れ終了でした。「パックマン」は難しかったですね。結局、仕様もいまいち理解できてない状態でプログラムを作ってる途中で時間切れになってしまいました。

Twitterを見ると解いている人もいるみたいですが・・・
#gdd2010jp

なんにせよ、クイズにとりかかったのが20日の夜というのは遅すぎました。パックマンの難易度から考えると問題が発表された時点ですぐに始めないとダメな感じですね。次回の教訓にします。

DevQuiz の詳細
Google Developer Day 2010 Japan 公式サイト
@googledevjp on Twitter
[2002] Posted by kagahiro at 2010/08/23 14:08:17
0 point | Link (2) | Trackback (0) | Comment (0)

  1  


アクセスランキング

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (127 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (12 PV)
  3. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (7 PV)
  4. Google Finance(グーグルファイナンス)日本版が表示されるようになってますが・・・ (6 PV)
  5. Google News (グーグルニュース)日本版 (6 PV)
  6. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (5 PV)
  7. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (4 PV)
  8. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (4 PV)
  9. ウェブページを1回だけリロード(再表示)する方法 (3 PV)
  10. グーグルニュース(Google News)日本版が表示できるURL (3 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1651 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (217 PV)
  3. グーグルニュース(Google News)日本版が表示できるURL (191 PV)
  4. Google News (グーグルニュース)日本版 (185 PV)
  5. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (172 PV)
  6. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (164 PV)
  7. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (158 PV)
  8. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (123 PV)
  9. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (105 PV)
  10. [C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード (102 PV)

アクセス統計

ディレクトリ

関連サイト