<p>Given the radius and the position of the center of a circle, implement the function <code>randPoint</code> which generates a uniform random point inside the circle.</p>

<p>Implement the <code>Solution</code> class:</p>

<ul>
	<li><code>Solution(double radius, double x_center, double y_center)</code> initializes the object with the radius of the circle <code>radius</code> and the position of the center <code>(x_center, y_center)</code>.</li>
	<li><code>randPoint()</code> returns a random point inside the circle. A point on the circumference of the circle is considered to be in the circle. The answer is returned as an array <code>[x, y]</code>.</li>
</ul>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input</strong>
[&quot;Solution&quot;, &quot;randPoint&quot;, &quot;randPoint&quot;, &quot;randPoint&quot;]
[[1.0, 0.0, 0.0], [], [], []]
<strong>Output</strong>
[null, [-0.02493, -0.38077], [0.82314, 0.38945], [0.36572, 0.17248]]

<strong>Explanation</strong>
Solution solution = new Solution(1.0, 0.0, 0.0);
solution.randPoint(); // return [-0.02493, -0.38077]
solution.randPoint(); // return [0.82314, 0.38945]
solution.randPoint(); // return [0.36572, 0.17248]
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li><code>0 &lt;&nbsp;radius &lt;= 10<sup>8</sup></code></li>
	<li><code>-10<sup>7</sup> &lt;= x_center, y_center &lt;= 10<sup>7</sup></code></li>
	<li>At most <code>3 * 10<sup>4</sup></code> calls will be made to <code>randPoint</code>.</li>
</ul>

class Solution{
public:
    double r,x,y;
    Solution(double radius, double x_center, double y_center){
        r = radius;
        x = x_center;
        y = y_center;
    }
    vector<double> randPoint(){
        double x_r = ((double)rand()/RAND_MAX * (2*r)) + (x-r);
        double y_r = ((double)rand()/RAND_MAX * (2*r)) + (y-r);
        while(solve(x_r,y_r,x,y)>=r*r){
            x_r = ((double)rand()/RAND_MAX * (2*r)) + (x-r);
            y_r = ((double)rand()/RAND_MAX * (2*r)) + (y-r);
        }
        return {x_r,y_r};
    }
    double solve(double x_r,double y_r,double x,double y){
        return (x-x_r)*(x-x_r) + (y-y_r)*(y-y_r);
    }
};
31800