2011年6月3日金曜日

Topcoder SRM508(Div.2) 参戦記

いまいちでした。

いつも通り500点からやろうとしたのですが、何をいっているかがわからない。しばらく考えても全くわからないので、250にチェンジ。250はそれなりに理解でき、何度か組み直しつつSubmit。でも、この段階で半分が過ぎていました。173.50。

それから1000へ。問題の意味はわかりましたが、さてどう解くか。いろいろ迷って、ビットに注目するのかな?と考えましたが、結局答えは出ませんでした。諦めついでに残り10分でSummaryを見ると…

ーーー250以外は誰も解けていないし、250も部屋内3位…

かなり難しかったのかもしれません。

そして撃墜ラウンド。私のすぐ下にいた人のコードを読んでみると、再帰処理をたくさん使っている。
「これは撃墜できるかも」
慣れないながらデータを作り、再帰回数ができるだけ多くなるようにして投げました。

--Challenging Success--

今までで初めて、私は撃墜することができました。
そしてその後です。
自分自身も撃墜されてしまい…。(よく読めば、問題にそぐわない回を出していたことがわかりました)

結果は50点、372/1362でした。

今回のソースは250だけです。座標範囲が間違っています。

public class CandyShop{
public static int countProbablePlaces(int[] X, int[] Y, int[] R){
int count=0;
for(int i=0;i<201;i++){
for(int j=0;j<201;j++){
int flg=1;
for(int k=0;k<X.length;k++){
if(Math.abs((i-100)-X[k])+Math.abs((j-100)-Y[k])>R[k]){
flg=0;
break;
}
}
count+=flg;
}
}
return count;
}
}

0 件のコメント: