首页 > 其他分享 >Get Closer

Get Closer

时间:2022-09-30 19:12:15浏览次数:39  
标签:Closer distance move point Get Sample le Input

section>

Problem Statement

From the point $(0,0)$ in a two-dimensional plane, let us move the distance of $1$ toward the point $(A, B)$. Find our coordinates after the move.

Here, after moving the distance of $d$ from a point $X$ to a point $Y$ ($d \le$ length of the segment $XY$), we are at the point on the segment $XY$ whose distance from $X$ is $d$.
The Constraints guarantee that the distance between the points $(0, 0)$ and $(A, B)$ is at least $1$.

Constraints

  • All values in input are integers.
  • $0 \le A,B \le 1000$
  • $(A,B) \neq (0,0)$

Input

Input is given from Standard Input in the following format:

$A$ $B$

Output

Let $(x, y)$ be our coordinates after the move. Print $x$ and $y$ in this order, separated by a space.
Your output is considered correct when, for each printed value, the absolute or relative error from the judge's answer is at most $10^{−6}$.


Sample Input 1

3 4

Sample Output 1

0.600000000000 0.800000000000

Printing 0.5999999999 0.8000000001, for example, would also be accepted.


Sample Input 2

1 0

Sample Output 2

1.000000000000 0.000000000000

We may arrive at $(A, B)$.


Sample Input 3

246 402

Sample Output 3

0.521964870245 0.852966983083
可以用一个相似。首先求出 $(x,y)$ 到原点的距离 $d$ ,然后把他给相似到 $d$,也就是 $x/=d$,$y/=d$。
#include<bits/stdc++.h>
int x,y;
double d;
int main()
{
	scanf("%d%d",&x,&y);
	d=sqrt(x*x+y*y);
	printf("%.8lf %.8lf",x/d,y/d);
}

标签:Closer,distance,move,point,Get,Sample,le,Input
From: https://www.cnblogs.com/mekoszc/p/16745877.html

相关文章