TopCoder SRM558

今日はEclipse CoderがTopCoder新バージョンにともない、動かなくなってしまったので、
ある方の改変バージョンを適用する作業に。
一応ノートもやっておいた。

昼間はネスペの勉強をし、夜に友人と待ち合わせして、TOD。
TopCoder SRM558_f0019846_1545091.jpg


easy
石の配置とコスト、利益が与えられていて、石を置くとコストを支払う。
また、囲んでいるか、石を置いていれば、利益がもらえる。
囲む条件は、左右上下に石があること。端っこの場合は端に石があるとして考えてよい。
コストを計算せよ。

実はこのとき、EclipseCoderの動作が不十分で、動かないことが起こりました。
なんと、根幹のJavaを消去してしまっていたが故の失敗でした。
これで、15分ほど時間を取ってしまうひどい結果に。mediumとhardは結局無理でしたが。

public class SurroundingGameEasy {

public int score(String[] cost, String[] benefit, String[] stone) {
int sum = 0;
for(int i = 0 ; i < cost.length ; i++){
for(int j = 0 ; j < cost[0].length() ; j++){
if(stone[i].charAt(j) == 'o'){
sum -= cost[i].charAt(j)-48;
sum += benefit[i].charAt(j)-48;
}else{
int count = 0;
boolean flag = true;
if(i-1 >= 0){
if(stone[i-1].charAt(j) == '.')flag = false;
}
if(i+1 < cost.length){
if(stone[i+1].charAt(j) == '.')flag = false;
}
if(j-1 >= 0){
if(stone[i].charAt(j-1) == '.')flag = false;
}
if(j+1 < cost[0].length()){
if(stone[i].charAt(j+1) == '.')flag = false;
}
if(flag){
sum += benefit[i].charAt(j)-48;
}
}
}
}
return sum;
}

}

medium

R,G,Bのスタンプが与えられていて、希望通りに押したいが、
あいにく長さLのスタンプしか使えない。
そのコストは長さ分L*StampCost。長さは変更できない。
PushCostで押した時のコストを払う。
典型的なDPらしい。

hard
猫とウサギが一直線上で勝負する。
黒いステップにコマを載せ、隣接した白い部分を1つ以上黒にする。
この動作を繰り返し、移動できなくなったほうが負けである。
必勝法があるので、どちらが勝つか考えようという問題。

帰宅後は、少しゲーセンへ。
となりでカップルがREDJackpotを出していたので、
こっちもなんか出すぞーってやっていたらBlue+300。
これはフラグかと思い、終了間際にJackpot。よかったー。

TopCoder SRM558_f0019846_2122685.jpg


TopCoder SRM558_f0019846_2132819.jpg

  by ddrer-yossi | 2012-10-19 23:50 | TopCoder

<< 80円切手と証明写真。ネスペの勉強 頭痛が治まらない。ゲーセン。 >>

SEM SKIN - DESIGN by SEM EXE