問題
http://community.topcoder.com/stat?c=problem_statement&pm=11808&rd=14729
解き方
(x,y)の合計が奇数の座標と偶数の座標が存在すれば、どちらにもできるので
答えは必ずYESになる。
そうでない場合はそれぞれ奇数のみ、偶数のみのルートとなる。
コード
class EvenRoute {
public: string isItPossible(vector<int> x, vector<int> y, int wantedParity) {
int n=x.size();
int odd=0,even=0;
FORE(i,0,n){
if((x[i]+y[i])%2==0)even++;
else odd++;
}
if(even && odd)return "CAN";
if(even>0 && wantedParity==0)return "CAN";
if(odd>0 && wantedParity==1)return "CAN";
return "CANNOT";
}
};
public: string isItPossible(vector<int> x, vector<int> y, int wantedParity) {
int n=x.size();
int odd=0,even=0;
FORE(i,0,n){
if((x[i]+y[i])%2==0)even++;
else odd++;
}
if(even && odd)return "CAN";
if(even>0 && wantedParity==0)return "CAN";
if(odd>0 && wantedParity==1)return "CAN";
return "CANNOT";
}
};