Google I/O 2017のクイズの答え

# Google I/O 2017のクイズとは？
以下のツイートです。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">Around the world, from here to there, to the most clever minds, the secret will share. <a href="https://twitter.com/hashtag/googledevs?src=hash">#googledevs</a> <a href="https://twitter.com/hashtag/savethedate?src=hash">#savethedate</a> <a href="https://t.co/0zwCbSLzVy">https://t.co/0zwCbSLzVy</a> <a href="https://t.co/0O2vNDWZx2">pic.twitter.com/0O2vNDWZx2</a></p>&mdash; Google Developers (@googledevs) <a href="https://twitter.com/googledevs/status/823966571194257408">2017年1月24日</a></blockquote>

すでにいくつか記事が出ているので今更感がありますが、一つずつ解き方を書いていきます（＝ネタバレ）

# 画像について
まずはツイートされている画像についてです。辺に1～4本の線が引かれているので、左上の青緑の19のマスから、1→2→3→4→1→…の順でマスを移動していきます。すると最終的に右上のオレンジ色の/にたどり着きます。

![](https://qiita-image-store.s3.amazonaws.com/0/92361/266da38b-df4e-8f3a-28ff-6d8efb512646.jpeg)

マスの数字を並べると以下のような感じ。

```
19 1 22 5 20 8 5 4 1 20 5 . 6 15 15 /
```

1=a、26=zのような感じで、数字をアルファベットに直すと、

|19|1|22|5|20|8|5|4|1|20|5|.|6|15|15|/|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|s|a|v|e|t|h|e|d|a|t|e|.|f|o|o|/|

となり、出題ページのURLになります。
https://www.savethedate.foo/

でもこれってツイートに書いてあるし、いったい何の意味があったんだ…という感じです。

ちなみにSave the Dateは「この日を空けておいて」っていう意味で、結婚式の日程が決まったらSave the Dateカードを送ったりするみたいです。

# 問1
出題ページを開き、「Go!」の部分を押すと最初の問題に飛びます。
https://github.com/kzuse201?tab=repositories

trailheadというリポジトリがあるので、それを開くと、README.mdとidareyou.jsがあります。
ちなみに、trailheadは「道の始まり」というような意味で、I dare youは「できるものならやってみろ」みたいな意味です。

idareyou.jsを見てみると、Google Mapである地点にマーカーを置くコードのようです。
（動かし方は分からなかった :sweat_smile: ）

```js
this.markers = [{ 
    lat: -28.092472, 
    lng: -52.419667 
}]; 
```

この座標（-28.092472, -52.419667）に何かあると思いGoogle Mapを開いてみても、特に何もないです。困ったと思いきや、この座標がそのまま答えでした。

答え
__-28.092472, -52.419667__

これをenter answer hereに打ち込みと、次の問題に進みます。

# 問2
タイトルバーには__Brazil__と表示されています。

リンクをクリックすると、今度はYouTubeの動画に飛ばされます。
https://www.youtube.com/watch?v=9N9K898TtWQ&feature=youtu.be&yt:cc=off

See What Cannot Be Heardというタイトルで、You can always count on a good time at the beach...という説明が書いてあります。
意味はそれぞれ、「聞こえないものを見ろ」、「あなたはいつでもビーチで楽しい時を過ごすことができます...」といったような感じでしょうか。

「聞こえないものを見ろ」とのことなので、字幕を表示します。すると、以下の字幕が表示されます。

```
Magic I. See _ a beach, -yes. _ I explore daylight
```

.や,が含まれているので、これもまた座標っぽいですね。各単語の文字数をカウントして、_を0として変換すると、答えが出ます。

答え
__51.3015, -3.0178__

# 問3
タイトルバーには__England__と表示されています。

リンクをクリックすると、今度はPresentationに飛ばされます。
https://docs.google.com/presentation/d/11uA9a5wgoY9w9vOyx3C76YewbypmNKgnpy7TbOIv9Wc/pub?start=false&loop=false&delayms=3000&slide=id.p

再生ボタンを押すと、音声が流れてきます。英語で数字を読み上げていて、

```
053 050 046 049 056 050 049 044 032 050 048 046 057 057 054 053
```

となっています。これをASCIIコードで変換すると、

|053|050|046|049|056|050|049|044|032|050|048|046|057|057|054|053|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|5|2|.|1|8|2|1|,| |2|0|.|9|9|6|5|

またしても座標となります。

答え
__52.1821, 20.9965__

# 問4
タイトルバーには__Poland__と表示されています。

リンクをクリックすると、今度はGoogle Driveに飛ばされます。
https://drive.google.com/drive/folders/0B2BGioksxQiRc2hpTDJ1SVhPUU0

写真が5枚ありますが、最初のcaves.jpgだけデータが壊れていることが分かります。

この画像をダウンロードして、（Macなら[0xED](http://www.suavetech.com/0xed/)などの）バイナリエディタで開くと、通常の画像データでは現れることがないような、通常の文字として表示可能な部分があることが分かります。

![](https://qiita-image-store.s3.amazonaws.com/0/92361/22a84647-9779-3066-be17-a708ac9198ab.png)

これもまたASCIIコードで変換します。pythonなら以下のような感じで変換できます。

```python:convert.py
import sys

cs = raw_input().split()
for c in cs:
    sys.stdout.write(chr(int(c, 16)))
```

```bash
cat code.txt | python convert.py > output.txt
```

その結果が以下です。

```output.txt
Numbers are amazing. Follow the count.


  V -----------------------------------
> 1  7  8  5  4  10 1  2  6  3  6  1. 9|
 |4. 2  9  4  2  7  9  8  5  6  5  2  7|
 |4  10 9  7  4  2  5  9  6  8  10 7  9|
 |8  5  3  5  3  5  4  7  2  9  6  1  8|
 |2  7  1  3  4  1  5  8  4  9  8  8  3|
 |6  1  9  4  5  5  7  3  1  2  6  10 4|
 |10 8  7  1  2  4  5  8  2  5  7  9  1|
 |2  3  5  7  1  4  6  9  5  3  4  5  6|
 |9  1  4  4  8  3  7  6  2  5  1  6  7|
 |2  1  9  3  7  4  5  7  3  6  8  7  8|
 |8  3  8  5  8  4  6  1  5  9  1, 10 6|
 |6  3  5  7  7  1  10 4  8  6  3  5  9 >
  ------------------------------------v
```

これが今回一番難しい気がしますが、左上から始めて右下に抜ける迷路のようです。マスに描かれている数字の分だけ上下左右のどこかに移動することができるようです。
これはゴールが決まっているので、ゴールから始めた方が楽です。なぜなら、1マス離れたところに1があるか、2マス離れたところに2があるか、…のように探索できるからです。

![](https://qiita-image-store.s3.amazonaws.com/0/92361/a64fdd93-84e3-d77b-21cb-b2f235ce0183.png)

答え
__14.2981, 101.2189__

# 問5
タイトルバーには__Thailand__と表示されています。

リンクをクリックすると、今度はGoogleフォトに飛ばされます。
https://photos.google.com/share/AF1QipMNGiEkdfeZKK5uus5iOmt-Gv70lGgSXrnb0sKABhbYuGvovrtNFOy9NAemx0704Q/photo/AF1QipPUgDxGGFcGyd6z-UaSOvqM6JHccuyebfXskvVD?key=WEE2RnpsSkpQRHRscjVxVlhFY1ZRbmRCQnZSQ05B

画像の情報を見ると、ファイル名がbase64.jpg、説明が`V2hlcmUgaGF2ZSB5b3UgYmVlbj8`と表示されています。
`V2hlcmUgaGF2ZSB5b3UgYmVlbj8`をbase64としてデコードします。

```bash
echo V2hlcmUgaGF2ZSB5b3UgYmVlbj8 | base64 --decode
```

（そのままだとエラーになったり最後が欠けてしまったりする場合は、入力の最後に=を足してください）

結果はWhere have you been?となります。意味は、「あなたは（今まで）どこに行きましたか？」といった感じでしょうか。

ここで、今までの問題でタイトルバーに表示されている地名を振り返ってみると、

- Brazil
- England
- Poland
- Thailand

となっているので、チェス盤に配置してみます。

![](https://qiita-image-store.s3.amazonaws.com/0/92361/a79f3075-fe05-08f4-dcc5-5f2734f4a066.jpeg)

数字が書いてあるアルファベットを、数字の分だけずらします。

|B|r|a|z|i|l||E|n|g|l|a|n|d||P|o|l|a|n|d||T|h|a|i|l|a|n|d|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|+10||+8|-12||-7||+15|-6|-2|-11|+19|+4|+1||+3|-7|+3||+4|+1||-19|+5||+7||+7||+5|
|L||I|N||E||T|H|E|A|T|R|E||S|H|O||R|E||A|M||P||H||I|

これを適切に並べ替えると、答えになります。

答え
__Shoreline Amphitheatre__

# まとめ
というわけで、5/17,18,19に、Shoreline AmphitheatreでGoogle I/O 2017が開催されることが分かりました！
![](https://qiita-image-store.s3.amazonaws.com/0/92361/90dfa979-b84b-d261-cc7d-2904d6c47077.png)