夢追い人

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

GCJ 2010 A. Snapper Chain

アプリケーションプラネットの勉強会見てやってみた。

ファイル入出力についてはある程度解決。だけどこの問題だと本番に対応できない・・・
問題文とかめんどいので、僕なりの解答。

bool solve(int N, int K) {
	vector <int> n(N, 0);
	int j;
	for (int i=0; i<K; i++) {
		for (j=0; j<N; j++) {
			if (n[j] != 1) {
				break;
			}
		}
		for (int k=0; k<=j; k++) n[k] = (n[k]-1)*(-1);
	}
	if (n[N-1] == 1) return true;
	return false;
}

int main() {
	int T, N, K;
	cin >> T;
	for (int i=0; i<T; i++) {
		cin >> N >> K;
		if (solve(N, K)) {
			cout << "Case #" << i+1 << ": ON" << endl;
		} else {
			cout << "Case #" << i+1 << ": OFF" << endl;
		}
	}
	return 0;
}

ただコレだとメモリ使用量のせいか中止してしまう。。。

とりあえず・・・と本番でもつかえるシェルスクリプトはとりあえず・・・

#! /bin/sh

g++ $1.cpp -o $1
./$1 < $2.in > $2.out

おまけにTopCoderで使ってるやつも載せとこう。

#! /bin/sh

g++ -Wall -O2 $1.cpp && ./a.out

プラグイン専用なんで、普通に書いたコードでは使えないけどね。

それでは!
というか誰か助言ください。