名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

No.306 さいたま2008

回答

#61462 No.306 さいたま2008 - yukicoder

二分探索しようとして失敗した.
解説を見て,あー…(思考停止)ってなった.

なんというか,普通に高校数学とかを知っていれば解ける問題です.
AとBの座標が与えられるので,片方を反転して,AとBの直線を求め,y軸との切片を考えれば良いという….

高校の時に定期テストで解いたじゃんこういう問題orz

int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);
  cout.precision(16);

  int x1, y1;
  int x2, y2;

  cin >> x1 >> y1;
  cin >> x2 >> y2;
  x2 = -x2;

  // y - y1 = ((y2 - y1) / (x2 - x1)) * (x - x1)
  // y = ((y2 - y1) / (x2 - x1)) * (x - x1) + y1
  // need intercept -> ((y2 - y1) / (x2 - x1)) * (-x1) + y1
  cout << ((double)(y2 - y1) / (x2 - x1)) * (-x1) + y1 << endl;

  return 0;
}

単純だけど,頭が働くかどうかが試された感じがしました.
幾何やこの類の平面グラフとか,そもそもの性質を忘れている場合が多いので,時間を見つけて高校数学,大学数学からやり直してこようかしら…