[date:201008]の検索結果


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

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

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. Google News (グーグルニュース)日本版 (27 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (24 PV)
  3. YouTubeドラマまとめ ドラマ・映画 -VideoNavi- (9 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (8 PV)
  5. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (6 PV)
  6. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (6 PV)
  7. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (4 PV)
  8. FC2動画やYouTubeなどから無料動画(映画やドラマ、アニメ、音楽など)を探す方法 (3 PV)
  9. PHPでMySQLに接続して、SELECTでデータを取得するサンプルプログラム (2 PV)
  10. 動画検索サイト 「Woopie(ウーピー)」 (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2330 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (1551 PV)
  3. Google News (グーグルニュース)日本版 (1467 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (618 PV)
  5. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (301 PV)
  6. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (220 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (205 PV)
  8. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (195 PV)
  9. YouTubeドラマまとめ ドラマ・映画 -VideoNavi- (190 PV)
  10. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (189 PV)

アクセス統計

ディレクトリ

関連サイト