のんびり過ごす。TopCoder SRM619

今日は特に何もないので、夕方頃までのんびり。

夜は2クレだけ某所のゲーセンへ。
リフレクがプレーしてないまま放置されていて、自動SAVEDだったのでどうにも。
その後やったら更新しました。フルコンではないですが。
のんびり過ごす。TopCoder SRM619_f0019846_1351213.jpg


20時にはTopCoder SRM619に参加。

A問題は、いくつかの石の山があり、その中の1つを選んで、1個以上の2つの山にわける。
それを、残りの石の山に追加していくという動作をしたときに、
先手が勝てるか負けるかを判定せよ。

コレはヤバゲな問題か…と思いましたが、
ちょっと考えると、1の山がゲーム終盤まで残るということは、
全部が1の山でない限りは絶対に不可能であり、
その勝敗は奇数個の山か、偶数個の山かで決まるということがわかります。
あとは、山が2個以下だとこの動作ができないので負けます。
それを書くだけです。


public class SplitStoneGame {

public String winOrLose(int[] number) {
int count = 0;
for(int i = 0 ; i < number.length ; i++){
if(number[i] > 1)count++;
}
if(number.length <= 2)return "LOSE";
if(count < 1)return "LOSE";
if(number.length % 2 == 0)return "LOSE";
return "WIN";
}

}


Mediumは問題文が長いので読むのを諦めました。

1274->1340

  by ddrer-yossi | 2014-05-05 23:32 | TopCoder

<< 煮干しラーメンとか 鎌倉旅行(日帰り >>

SEM SKIN - DESIGN by SEM EXE