2010年7月9日金曜日

TopCoder 練習

RabbitStepping(SRM 475 DIV1 Easy)

  1. import java.util.*;  
  2. import java.lang.*;  
  3. import java.math.*;  
  4. public class RabbitStepping {  
  5.  public double getExpected(String field, int r) {  
  6.   int n=field.length();  
  7.   int cnt=0, sum=0;  
  8.   for(int i=0; i<1<<n; i++){  
  9.    if(Integer.bitCount(i)==r){  
  10.     int r1=0, r2=0;  
  11.     for(int k=0; k<n; k++){  
  12.      if((i>>k&1)==1){  
  13.       if(k%2==0) r1++;  
  14.       else  r2++;  
  15.      }  
  16.     }  
  17.     cnt+=r1%2+r2%2;  
  18.     sum++;  
  19.    }  
  20.   }  
  21.   return (double)cnt/sum;  
  22.  }  
  23. }  
  24.   
  25.   
  26. // Powered by FileEdit  
  27. // Powered by TZTester 1.01 [25-Feb-2003]  
  28. // Powered by CodeProcessor  

0 件のコメント: