2つの正方形は、互いの最も近い変動しが平行になるように配置すればいい。
( ◇◇ではなく□□の方だけを考える )
片方の正方形の辺の長さを1伸ばすと、2つの正方形の距離はは0.5だけ縮まる。
typedef long long int lli;
class TurretPlacement {
public:
long long count(vector <int> x, vector <int> y) {
lli ret = 0;
const int size = x.size();
for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
double X = x[i] - x[j];
double Y = y[i] - y[j];
lli dist = (lli)(sqrt(X * X + Y * Y) / 0.5);
ret += dist * (dist - 1LL) / 2LL;
}
}
return ret;
}
};
0 件のコメント :
コメントを投稿