Hatena::Grouptopcoder

hoshi524の日記

 | 

2012-03-22SRM 538 DIV 1

250pt EvenRoute

18:55

問題

TopCoder Statistics - Problem Statement

考えたこと

偶奇しか問われてなかったので、探索は一切考えなかった。(x+y)&1でstepが偶数奇数かはすぐ分かるし。

結果的にはこれが良かったが、安全な思考だった気はしない。勘でやった。

どこから行っても良い事を理解してなくて、最初から順に行って調べたらexample2で失敗した。

example2は最小ケースになっていて、ここから偶数の位置、奇数の位置を足したりした。

偶数奇数の状態遷移図で考えると単純な構造になっていて、偶数の位置がいくつあろうが奇数の位置が1つあれば"CAN"だし、逆も然りだった。

コード

public class EvenRoute {
	public String isItPossible(int[] x, int[] y, int wantedParity) {
		int n=x.length;
		boolean kisu=false,guu=false;
		for(int i=0;i<n;i++){
			if((x[i]+y[i])%2==0){
				guu=true;
			}else{
				kisu=true;
			}
		}
		if(wantedParity==1){
			return kisu?"CAN":"CANNOT";
		}else{
			return guu?"CAN":"CANNOT";
		}
	}
}
 |