結果

問題 No.1064 ∪∩∩ / Cup Cap Cap
ユーザー HaarHaar
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0