全部試す。
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 件のコメント :
コメントを投稿