[しりとり]の検索結果


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

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

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 Finance(グーグルファイナンス)日本版が表示されるようになってますが・・・ (1 PV)
  2. ウェブページを1回だけリロード(再表示)する方法 (1 PV)
  3. [将棋]将棋メイド「押木ゆい」さん考案の新戦法「メイドシステム」が大人気 #将棋ウォーズ初段 (1 PV)
  4. [将棋]羽生式袖飛車(はぶしきそでびしゃ) (1 PV)
  5. 有名まとめサイトの管理人「JIN」さんが株、FXで約-8000万の大損失 #もうダメだ、終わった (1 PV)
  6. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1 PV)
  7. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1742 PV)
  2. Google News (グーグルニュース)日本版 (141 PV)
  3. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (134 PV)
  4. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (127 PV)
  5. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (120 PV)
  6. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (113 PV)
  7. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (111 PV)
  8. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (100 PV)
  9. ウェブページを1回だけリロード(再表示)する方法 (87 PV)
  10. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (78 PV)

アクセス統計

ディレクトリ

関連サイト