夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

Competitive Programming on Smart Device

0. はじめに

どーもこんにちは。touyouです。
この記事は Competitive Programming Advent Calendar Div2012 の21日目の記事です。希望は特にしてませんが偶然にも誕生日一ヶ月後を担当させていただく次第になりました。
 
さて、今回のテーマは題名の通り「スマートフォン、タブレットでの競技プログラミング」です。結構最近のエントリにProject EulerAndroidでやるという似たようなものがあるのですが、それからiPadを手にいれたり(通称iPad模試で某進から搾取しました( ̄^ ̄)ゞ)WalkmanAndroidが4.0にアップデートしたりしたので今回はそれの強化拡張版のようなかたちでお送りしたいと思います。
(特殊顔文字使いまくってるのでご注意)
last modified: 2012/12/20
 

1. Androidで競技プログラミング

ではまず最初にAndroidから。
 
今回は家にタブレット(Garaxy Tab)があったりしますが、一応自分のものだけでやるということで、Project Euler編に引き続き最近Android4.0への大アップデートがあったWalkman Zに登場してもらいたいと思います(◕ฺ∀◕ฺ)
 

 

どーん!!!Android4.0きれいパシャッ! Σp[【◎】]ω・´)

 

ではまずなんですか、アプリ紹介かな。

 

f:id:touyou1121:20121220183611p:plain

 

ProgrammingでPlay Store検索するとこんな風にいっぱい出てくる世の中(たぶん有料とかでコンパイラもあるはず…)ですが使うのはSL4A(ここでAndroid4.0の非対応に気づく←)

 

Σ( ̄ロ ̄lll) ガビーン

 

というわけでみなさん、Android2.xでやりましょう。

 

๑゜д˚๑

 

とりあえずここまで来てしまったのでSL4Aの簡単な解説を…。

 

これは正式名称がScripting Layer for Androidという公式の(?)プロジェクトです。各種スクリプト言語の実行がAndroid上で行えるようにするツールです。

使える言語はPython,Beanshell,Lua,Perl,Rhinoです。とりあえずCodeforces,AtCoderや、自分の環境で実行するタイプのコンテストならなんなくできますね。

 

あとエディタもろもろは前の記事を参考にしてもらえると助かります。。。

いやまさかできなくなってるとは思わなかった…。

 

とりあえず残りはiPad編でお楽しみください(適当だなぁ…)

last modified: 2012/12/20

 

2.iPadでプログラミング

 

はい、というわけで、最近手に入れたiPadですね。

カメラがiPadしかないのでとりあえずパッケージ撮ったやつ

 

f:id:touyou1121:20121207200940j:plain

 

どーんƪ(Ơ̴̴̴̴̴̴͡.̮Ơ̴̴͡)ʃ

 

てかいらなくない?とか言ってはいけない←

とりあえずこっちは下準備してきましたよー(╹◡╹)

 

f:id:touyou1121:20121220191638p:plain

 

-C++JavaPython、CoffeeScriptのコンパイラ

-C++などのリファレンス

-エディタ

です。

ぶっちゃけコンパイラにエディタもくっついているんでエディタいらないです。

 

これで言語も一気に増えて、一気にコーディングしやすくなって、TopCoder以外のほとんどの競技プログラミングができますね(∩´∀`)∩ワーイ

しかもDropboxとかを導入しておけばパソコンとの同期も簡単ですね(最低でも16GBはあるので余裕)

 

とりあえず今回入れてみたアプリは…

 

C++ Programming Language

f:id:touyou1121:20121220205509p:plain

このようにエディタとの複合型で、コンパイルから実行まで全て出来ます。

Java Programming Language

上のと同じ作者のアプリです。他にこのシリーズではPerlC#などもあります。

f:id:touyou1121:20121220205650p:plain

python-Programming language

今度は中国人、リファレンスもついている模様。

f:id:touyou1121:20121220205751p:plain

モード画面うつしたのであとは画像で機能を把握してくださいw

プログラミング辞書 FastReference

f:id:touyou1121:20121220205908p:plain

これはリファレンスです。

C言語の他iOS APIとEvernote APIのリファレンスもついています。正直なんでこの取り合せなのかは謎。

intで調べてみたらいっぱい出てきました。

iEditor - Text テキスト編集ツール

多機能エディタです。

f:id:touyou1121:20121220210055p:plain

正直よくわからん。多分コンパイラ付属の使うのが無難かも…?

 

以上とりあえずアプリ紹介だけです。よく考えたらそこまで難しいことなかったので内容薄くなってしまいましたがいかがでしたでしょうか?

 

普通の競技プログラミングに飽きてきた人はたまにはSmart Deviceで競技プログラミング、試してみてくださいねʕ·ᴥ·ʔノ

 

p.s. いわゆる「地球滅亡の日」を迎えたらしいですね、TopCoderのArenaがLoadingになったままかたまって僕のSRM出場を阻止していたり色々と不吉なことが起こりそうな予感がしますね(しない←)