2010年5月4日火曜日

TopCoder SRM 469

SRM469(5/4 20:00~22:00)
スーパーボッコボコタイム.

・TheMoviesLevelOneDivOne(DIV1 Easy)
大体の解法は少し考えれば分かりました.
提出したソースがこちら.

import java.util.*;
import java.lang.*;
import java.math.*;
public class TheMoviesLevelOneDivOne {
public long find(int n, int m, int[] row, int[] seat) {
int len=seat.length;
for (int i = 0; i < len - 1; i++) {
for (int j = len - 1; j < i; j--) {
if(row[j-1]>row[j]||(row[j-1]==row[i]&&seat[j-1]>seat[j])){
int t=row[j-1];
row[j-1]=row[j];
row[j]=t;
t=seat[j-1];
seat[j-1]=seat[j];
seat[j]=t;
}
}
}
long ret=(long)(m-1)*n;
for(int j=0;j<len;){
int i;
for(i=0;j+i<len&&row[j+i]==row[j]&&seat[j+i]==seat[j]+i;i++)
;
ret-=i+1;
if(seat[j]==1)
ret++;
if(seat[j+i-1]==m)
ret++;
j+=i;
}
return ret;

}
}


// Powered by FileEdit
// Powered by TZTester 1.01 [25-Feb-2003]
// Powered by CodeProcessor


// Powered by FileEdit
// Powered by TZTester 1.01 [25-Feb-2003]
// Powered by CodeProcessor

全体的に汚いです.そして9行目のrow[i]はrow[j]でした.焦っていたため,訂正し忘れました.
このミスによってFailed System Test.

Result:Failed System Test(0p)

・TheMoviesLevelTwoDivOne(DIV1 Normal)
\(^o^)/
Result:Opend(0p)

・TheMoviesLevelThreeDivOne(DIV1 Hard)
\(^o^)/
Result:Opened(0p)

・Challenges
0p

・Rating
1292->1226
次落ちたらDiv2降格は免れません.

0 件のコメント: