leetcode-daily/cpp/2206/220605-CN.cpp

20 lines
536 B
C++

#include <vector>
#include <ctime>
#include <random>
class Solution {
private:
double radius, x_center, y_center;
std::mt19937_64 r;
public:
Solution(double radius, double xCenter, double yCenter) : radius(radius), x_center(xCenter), y_center(yCenter) {
r = std::mt19937_64(std::time(nullptr));
}
std::vector<double> randPoint() {
double l = double (r()) / std::mt19937_64::max() * radius, d = double (r()) / std::mt19937_64::max() * std::acos(-1.0);
return {x_center + std::sin(d) * l, y_center + std::cos(d) * l};
}
};