結果
問題 | No.1064 ∪∩∩ / Cup Cap Cap |
ユーザー |
|
提出日時 | 2020-05-29 21:40:32 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,115 bytes |
コンパイル時間 | 2,189 ms |
コンパイル使用メモリ | 195,832 KB |
最終ジャッジ日時 | 2025-01-10 16:45:17 |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 WA * 6 |
ソースコード
#include <bits/stdc++.h> #ifdef DEBUG #include <Mylib/Debug/debug.cpp> #else #define dump(...) #endif const long double eps = 1e-7; /** * @title 二次方程式の実数解 * @docs quadratic_equation.md */ std::vector<long double> quadratic_equation(long double a, long double b, long double c){ long double d = b*b - 4*a*c; if(d < 0) return {}; long double x1 = (-b + std::sqrt(d)) / (2 * a); long double x2 = (-b - std::sqrt(d)) / (2 * a); return {x1, x2}; } int main(){ int a, b, c, d; while(std::cin >> a >> b >> c >> d){ int64_t A = 2; int64_t B = a-c; int64_t C = b-d; int64_t D = B * B - 4 * A * C; if(D < 0){ std::cout << "No\n"; }else if(D == 0){ std::cout << "Yes\n"; }else{ auto res = quadratic_equation(2.0, a-c, b-d); auto x1 = res[0], x2 = res[1]; auto y1 = x1 * x1 + x1 * a + b; auto y2 = x2 * x2 + x2 * a + b; auto p = (y2 - y1) / (x2 - x1); p = std::abs(p); auto q = y1 - p * x1; std::cout << std::fixed << std::setprecision(12) << p << " " << q << "\n"; } } return 0; }