Hatena::Grouptopcoder

minus9dの記録

2013-11-20

EmacsでTopCoder

| 23:46 | EmacsでTopCoder - minus9dの記録 を含むブックマーク はてなブックマーク - EmacsでTopCoder - minus9dの記録

Eclipseがどうにも使いにくいので、EclipseCoderを捨ててEmacsでコーディングすることにした。手順は以下。

  • 401 Unauthorizedに従い設定
    • ただし、これらの項目をすべて行った後、Options→Editorにて「CodeProcessor」のDefaultにチェックを入れる必要があった
  • Arenaで問題を選んだら、テストケース付きソースコードが、自分の指定したディレクトリに自動生成される。そのソースコードを、Emacsに限らず好きなエディタで編集すればよい。

自分用のC++のテンプレートは以下。

#include <iostream>
#include <sstream>
#include <string>
#include <cmath>
#include <cstdio>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <algorithm>
#include <functional>
#include <numeric>

#define REP(i,n) for(int i = 0; i < (int)(n); ++i)
#define FOR(i,a,b) for(int i = (a); i < (int)(b); ++i)
#define FOREACH(i, n) for (__typeof((n).begin()) i = (n).begin(); i != (n).end(); ++i)
#define ALL(c) (c).begin(), (c).end()
#define SIZE(v) ((int)v.size())

#define pb push_back
#define mp make_pair

using namespace std;
typedef unsigned int uint;
typedef long long ll;
typedef unsigned long long ull;


class $CLASSNAME$ {
public:
  $RC$ $METHODNAME$($METHODPARMS$) {
    $RC$ result;
    return result;
  }

  $TESTCODE$
};

// BEGIN CUT HERE
int main() {
  $CLASSNAME$ ___test;
  ___test.run_test(-1);
}
// END CUT HERE