Hatena::ブログ(Diary)

UEI/ARC shi3zの日記 RSSフィード

2011-01-22

#givemac 全国の小中高生の中から、この方にMacBookAirを進呈します

我ながら、なんと罪作りな企画をやってしまったのだろう。

この一週間、いままでに経験がないほどの若い力を全身に感じました。

皆それぞれ才能があり、夢があり、野望を持っていました。


そうした少年少女達の真摯な目線にさらされ、正直、彼らの二倍近い年齢となってしまった僕自身も襟を正さなければならないと思いました。


応募総数は71名。その総てがキラ星のような輝きを持っています。

この中から独りを選ぶのは辛かった。難しい。


しかし、選ばなければなりません。




今回の選考基準は、実は応募要項を注意深く読めばハッキリと書いてあります。

「僕が最も才能を感じた」人が優勝、というものです。


では才能をどう感じさせるか?

小論文とは、才能をアピールするための小道具に過ぎません。


「小論文」をネタに、いかにして自分の才能をアピールできるか、ということが主眼でした。

つまり今回の企画は決して小論文の優劣・巧拙を競うものではありません。



そうした視点で選ぶとすれば、答えはおのずと出ていました。

xrekkusuさんです。

彼は小論文を暗号化し、それを解読するソースコードとともに応募して来ました。

E 人類の幸福とはなにか?

この記事はgivemacの応募用の小論文を書いたものです。

応募はソースコードでも何でも自由と書いてあったので、ある方法でスクランブルした小論文を解くプログラムとセットで応募したいと思います。

次のスクランブルされた文字列を改行もそのままで標準入力に流しこむと元の答えが出てきます。

環境によってソースコードが動かない可能性も考えてWindows用のバイナリも用意しておきました。

solve.exe, data.txt

x善類寄がのて設なとの護き々遠童考な供をがな。なま

の付鎖意っに少こな施生人永養う大た児額水子ど集れそ

な人ら続連しいくも由りてもにちえ金なで栄、をいるル

す幸う至国なう活隣でいはるい莫い育養ら飲誰りしのま

よすい飲ま生はせ自合いと訪が方をも金寄はっみかセっ

福るに業いに先とをる福けがもれっ付度たがに連か恵お

水たむて進々送不わ死付れき付摂ておあをの自う金鎖ド

とと工死住。のて。幸だ、で登たて今意分ろ鎖できので

っないこ人っ一るで寄な場寄りしろげし連あす連。ン起

はいまむりくいこのあにるるのよ、善るたがだ人こ引そ

恵かいると、か方限いすか、らだ。うのる一めル鎖っラ

う何がれ多るの類がめす。だうらがこ必続の当たりドを

なは。れにか差り。人誰多かるx。意なはに人寄っでた

か、もでな大のなた付先は。かれと要くでくたた1付た

でらに人き格にxは破くいならち善このそ類もら。れ名

今。う続きいきる寄進分む子」でな困金なば幸そのなだ

こま類界かはそ気ち人びのなに知持いれのいな-は匿な

今ま善ろくず子ち工を住自学供と貧けにお福、安は-い

の起つの世。供れ病打々、こ「をも気はだの-と-の、

で、実意だ世、供た業金にうそのい苦のが人もで-だ-

かそ幸いが、x子をた発がてと、と顔うし-る-てりう

日のの現福い界ち現の国お開いし頃はルる買む-ろ-し

、なとでがこ在なのんた途1大。つなに人た-えてか乗

日本な連すはでとが達国いく人人人た名ド。たを-う育

かは本では鎖る伊はなさ直上る、のずにっ前1そっ名。

#include <string>
#include <iostream> 
#include <clocale>
using namespace std;

#define W 25
#define H 25

int direction[8][2] = {
    { -1, -2 },
    { 1, -2},
    { -2, -1},
    { -2, 1},
    { -1, 2},
    { 1, 2},
    { 2, -1},
    { 2, 1}
};

int mapdata[H][W];
int order[H*W][2];

int getmap(int x, int y){
    if (y < 0 || y >= H) return 1;
    if (x < 0 || x >= W) return 1;
    return mapdata[y][x];
}

void getorder(int x, int y){
    mapdata[y][x] = 1;
    order[0][0] = x;
    order[0][1] = y;
    for (int i = 1; i < H*W; i++){
        int a[2] = {0xff, -1};
        for (int j = 0; j < 8; j++){
            int xx = x + direction[j][0];
            int yy = y + direction[j][1];
            if (getmap(xx, yy) == 0){
                int movable = 0;
                for (int k = 0; k < 8; k++){
                    int xxx = xx + direction[k][0];
                    int yyy = yy + direction[k][1];
                    if (getmap(xxx, yyy) == 0) movable++;
                }
                if (a[0] > movable) {
                    a[0] = movable;
                    a[1] = j;
                }
            }
        }
        if (a[1] == -1) break;
        x += direction[a[1]][0];
        y += direction[a[1]][1];
        mapdata[y][x] = 1;
        order[i][0] = x;
        order[i][1] = y;
    }
}

int main(){
    getorder(0,0); 
    setlocale(LC_ALL, "");
    wstring data[H];
    for (int i = 0; i < H; i++){
        wcin >> data[i];
    }

    for (int i = 0; i < W*H; i++){
        int x = order[i][0];
        int y = order[i][1];
        wchar_t c = data[y][x];
        if (c == L'x'){
            wcout << endl << L" ";
        }else if (c != L'-'){
            wcout << c;
        }
    }
}

とりあえず食ってみろ: E 人類の幸福とはなにか?

http://blog.x-rex.net/2011/01/e.html

他人がやってないことに敢えて挑戦することこそ才能の本質であると僕は思います。


わざわざ僕は、「パワーポイントでもソースコードでもいい」と書いたのには、そういう意図がありました。


他人がしない回り道を敢えてやってみる。

一見簡単そうな問題を敢えて自分で難しくして、しかもそれを鮮やかに解いてみせる。

そういう、要するに"へんくつ"な根性というのが、未来を作っていくのに非常に重要だと僕は思います。


その意味では、僅差ではあるけれども、最も「才能を感じさせた」という視点でみれば、彼に軍配が上がりました。

彼はまだ中学三年生です。そのくらいからこういう「敢えてハズした」ギリギリの思考ができるかどうか、というのは実は大きな違いです。


今回、応募いただいた人たちは、それぞれ、まばゆいほどに輝くような素質と才能を持っていたと思います。本当に、たくさんの若い情熱を独りで受け止めることになって、これはこれで、僕なりに非常に勉強になりました。


また、この企画を通して寄付をいただいた図書券の件もあるので、惜しくも優勝を逃してしまったけれども、素質を感じる五名を紹介させていただきたいと思います。

こちらの方々には伊達直人さんを始めとする賛同者の方々から頂いた図書カードをプレゼント致します


ただし、順不同だと思って下さい。

8datetsuさん

 http://togetter.com/li/91308

 ARがとにかく好きだという情熱を非常に感じたので、今回は特別に僕からKinect本体のみをプレゼントしたいと思います


ariesshinkさん

 http://ariesshink.posterous.com/givemac

 正義をテーマにする方は多かったのですが、この方のまとめが一番よくまとまっていたと思います


nolzeさん

 http://d.hatena.ne.jp/nolze/

 なぜか論文が消えてしまっているのですが、まばゆいばかりの才能を感じました。


nanameruさん

 http://d.hatena.ne.jp/kyma/20110121/1295551257

 未来を予測するためのアプローチとして、過去からの歴史から類推するという高校一年生とは思えないクレバーさに素質を感じました。


KatsuyaItoさん

 http://homepage3.nifty.com/katsuya-ito/KatsuyaITO.pdf

 非常に美しく読みやすいPDF形式で応募して来たことと、「人間が神になる」という大胆な提言が地に足が着いたように感じられるところに鋭い知性を感じました。


当選した方は、shi3z@me.com宛に学生証の写真と送付先住所をメールしてください。

MacBookAirに関しては、僕が直接手渡しで届けたいと思います。



今回、#givemacは非常に大きな驚きと喜びを僕に与えてくれました。

またこれをきっかけに、同世代でどんな人間がなにを考えているのか、浮き彫りになったことが皆さんの人生にプラスに作用してくれればと思います。