简单的三角形构造
题号:NC223942
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个半径为 r,圆心坐标为 (x,y) 的圆,以及圆内或圆周上的一点 P(x_0,y_0)
\hspace{15pt}请你构造一个三角形 \triangle ABC,满足:
\hspace{23pt}\bullet\,三角形的三点都在圆周上或圆内;
\hspace{23pt}\bullet\,P 不在三角形内部(在三角形边上、三角形外均视为合法);
\hspace{23pt}\bullet\,三角形的面积不小于 S

输入描述:

\hspace{15pt}在一行上输入六个整数 r,x,y,S,x_0,y_0 \left(1 \leq r \leq 10^3;\, 1 \leq S \leq 10^6;\, -10^3 \leq x, y, x_0, y_0 \leq 10^3\right),表示圆的半径、圆心横纵坐标、三角形的面积以及点 P 的横纵坐标。

输出描述:

\hspace{15pt}如果不存在满足条件的三角形,直接输出 -1。否则,在一行上输出六个实数 x_a, y_a, x_b, y_b, x_c, y_c \left(-10^{18} \leq x_a, y_a, x_b, y_b, x_c, y_c \leq 10^{18}\right),表示三角形三个点的横纵坐标。

\hspace{15pt}由于实数的计算存在误差,当误差的量级不超过 10^{-7} 时,您的答案都将被接受。具体来说,设您的答案为 a,标准答案为 b,当且仅当 \tfrac{|a-b|}{\max(1,|b|)}\leq 10^{-7} 时,您的答案将被接受。
\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3 0 0 1 1 1

输出

复制
-2.6 0.14 -2.8 0.05 0.9 0.6

备注:

本题已于下方时间节点更新,请注意题解时效性:
1. 2025-11-28 优化题面文本与格式,修复 SPJ 会将「答案错误」判定为「格式错误」的问题,同时优化了判定精度。新增一组数据。