手元でだけ定義

いちいちTopCoder上でコンパイルすると遅いので手元でコンパイルしてテストしたいわけだけど、手元で実行するためにmainを定義するとTopCoder上でコンパイルしようとしたときに重複する定義だと怒られる。なので#ifdefを使って手元でだけmainが定義されるようにしたらいいんじゃないかと思う。

  • #ifdef LOCAL〜#endifでmainを囲む
  • g++ -DLOCAL foo.cppってコンパイルする。

これでOK。

        • -

でもTopCoderに関してはテンプレートで下のようにすればいいだけ。
http://gulfweed.starlancer.org/d/index.php?itemid=10
テンプレートを編集する話をうっかりスルーしていたけど、これでローカルではテストケースが走るようになる。超便利。