kmjp's blog

競技プログラミング参加記です

TopCoder SRM 572 Div2 Easy EasyHomework

さてDiv2も練習。
http://community.topcoder.com/stat?c=problem_statement&pm=12387

問題

整数値配列が与えられるので、すべての積が正・負・0のどれになるかを返す。

解答

初期値は正として、配列中に負の値が出るたびに符号を反転させる。
配列中に0が出てきたらそこで終了、答えは0。

class EasyHomework {
	public:
	string determineSign(vector <int> A) {
		int nu=1,i;
		FOR(i,A.size()) {
			if(A[i]==0) return "ZERO";
			if(A[i]<0) nu=-nu;
		}
		return (nu<0)?"NEGATIVE":"POSITIVE";
	}
};

まとめ

ん、このところDiv2 Easyはかなり簡単にしている?