結果

問題 No.306 さいたま2008
ユーザー @abcde
提出日時 2019-03-06 00:35:15
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 668 bytes
コンパイル時間 1,243 ms
コンパイル使用メモリ 156,100 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2025-02-14 12:15:23
合計ジャッジ時間 2,130 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main() {
    
    // 1. 入力情報取得.
    double xa, ya, xb, yb;
    cin >> xa >> ya >> xb >> yb;
    
    // 2. 点P の y座標を計算.
    // -> 点A(xa, ya) と 点Bとy軸で線対称な点B'(-xb, yb)を結んだ線分 と 
    // y軸との交点が, 点P になってるはず.
    // -> 線分AB' の 傾き m, 切片 yp とすると,
    // ya = m * xa + yp
    // yb = m * (-xb) + yp
    // -> よって, yp = (ya * xb + yb * xa) / (xa + xb)
    double ans = (ya * xb + yb * xa) / (xa + xb);
    
    // 3. 出力.
    cout << fixed;
    cout << setprecision(10) << ans << endl;
    return 0;
    
}
0