解いた問題

7/14/2011

SRM458 Div1 Easy

250
全部試す。
class BouncingBalls {
public:
  double expectedBounces(vector <int> x, int T) {

    sort( ALL(x) );
    int coll = 0;

    const int BIT = 1 << x.size();
    for(int bit = 0; bit < BIT; ++bit){
      vector<int> v = x;
      for(int i=0; i<v.size(); ++i){
        if( bit & (1 << i) )v[i] += T;
        else v[i] -= T;
      }
      for(int i=0; i<v.size(); ++i){
        for(int j=i+1; j<v.size(); ++j){
          coll += v[i] >= v[j];
        }
      }
    }

    return (double)coll / (double)BIT;
  }

};

0 件のコメント :

コメントを投稿