結果

問題 No.1064 ∪∩∩ / Cup Cap Cap
ユーザー Haar
提出日時 2020-05-29 21:37:12
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,012 bytes
コンパイル時間 2,274 ms
コンパイル使用メモリ 195,324 KB
最終ジャッジ日時 2025-01-10 16:41:35
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 30 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

#ifdef DEBUG
#include <Mylib/Debug/debug.cpp>
#else
#define dump(...)
#endif

/**
 * @title 二次方程式の実数解
 * @docs quadratic_equation.md
 */
std::vector<double> quadratic_equation(double a, double b, double c){
  double d = b*b - 4*a*c;
  if(d < 0) return {};

  double x1 = (-b + std::sqrt(d)) / (2 * a);
  if(d == 0) return {x1};
  
  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){
    auto res = quadratic_equation(2.0, a-c, b-d);

    dump(res);

    if(res.size() == 0){
      std::cout << "No\n";
    }else if(res.size() == 1){
      std::cout << "Yes\n";
    }else{
      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;
}
0