JavaScriptで競技プログラミング
今日はちょっと暇だったのでPythonでAOJをやってたんです。
んで、他にどんな言語が使えるんだろーと思って見たらJavaScriptがあったわけですね。
これはやるしかないと思い始めたらなかなか苦戦しました。
まず、JavaScriptで標準入力/出力ってどうやるの?って事でAOJのSystemInfoを見たところ、コンパイラにnode.jsを使っているらしいです。
なので、まずはnode.jsをインストールします。
次にVisualStudioで使えるように設定します。
まずはASP.NET空のWebプロジェクトを作ります。
そしたらとりあえずmain.jsを作って、ここにコードを書くことにします。
このままだと実行するとwebブラウザが起動するので、Webサイト→開始オプションで「外部プログラムの開始」を選びます。
外部プログラムはcmd.exe、作業ディレクトリはmain.jsがあるフォルダ、コマンドライン引数には「/k node main.js & pause & exit」を入れます。
このままだとインテリセンスが効かないのでNode.js IntelliSense for Visual Studioを使います。
次にプログラムの書き方について。
標準出力はconsole.log()でいいっぽいです。
標準入力はちょっと面倒で、process.stdinを使いました。
というわけでAOJ10001をJavaScriptで書くとこんな感じになります
/// <reference path="nodelib/node.js"/> process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { var x = parseInt(chunk.trim(), 10); console.log(x * x * x); });
多分もっといい方法があると思うので知ってたら教えてくだされ~