30 lines
593 B
Java
30 lines
593 B
Java
package chelper;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
|
|
public class SnarkD {
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
int n = in.nextInt();
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
double l = in.nextInt() / 2.0;
|
|
double r = in.nextInt();
|
|
|
|
if (r < l) {
|
|
out.println(Math.PI * r * r);
|
|
continue;
|
|
}
|
|
|
|
if (r > l * Math.sqrt(2)) {
|
|
out.println(4 * l * l);
|
|
continue;
|
|
}
|
|
|
|
double a = Math.acos(1.0 * l / r);
|
|
|
|
out.println((Math.PI - 4 * a) * r * r + l * Math.sin(a) * r * 4);
|
|
}
|
|
}
|
|
}
|