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