結果
| 問題 |
No.306 さいたま2008
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-03-27 02:13:14 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 896 bytes |
| コンパイル時間 | 3,315 ms |
| コンパイル使用メモリ | 79,604 KB |
| 実行使用メモリ | 54,504 KB |
| 最終ジャッジ日時 | 2025-01-02 07:49:22 |
| 合計ジャッジ時間 | 6,904 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 WA * 2 |
ソースコード
import java.util.*;
import java.io.*;
import java.math.*;
public class No306 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int xa=sc.nextInt(), ya=sc.nextInt(),xb=sc.nextInt(), yb=sc.nextInt();
// double t = yb, b = ya;
// double t = ya, b = yb;
double t, b;
if(ya > yb) {
t = ya;
b = yb;
}else {
t = yb;
b = ya;
}
while(t-b > 0.000001) {
double p0 = (t*2+b)/3;
double p1 = (t+b*2)/3;
if(search(xa,ya,xb,yb,p0) < search(xa,ya,xb,yb,p1)) {
b = p1;
}else {
t = p0;
}
}
if(search(xa,ya,xb,yb,t) < search(xa,ya,xb,yb,b)) {
System.out.println(t);
}else {
System.out.println(b);
}
}
public static double search(int xa, int ya, int xb, int yb, double p) {
double a = Math.sqrt(Math.pow(xa, 2) + Math.pow(ya-p, 2));
double b = Math.sqrt(Math.pow(xb, 2) + Math.pow(yb-p, 2));
return a+b;
}
}