A10172 | Arrow
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Petya has recently started working as a programmer in the IT city company that develops computer games.
Besides game mechanics implementation to create a game it is necessary to create tool programs that can be used by game designers to create game levels. Petya's first assignment is to create a tool that allows to paint different arrows on the screen.
A user of this tool will choose a point on the screen, specify a vector (the arrow direction) and vary several parameters to get the required graphical effect. In the first version of the program Petya decided to limit parameters of the arrow by the following: a point with coordinates $(px,py)$ , a nonzero vector with coordinates $(vx,vy)$ , positive scalars $a,b,c,d,a>c$ .
The produced arrow should have the following properties. The arrow consists of a triangle and a rectangle. The triangle is isosceles with base of length $a$ and altitude of length $b$ perpendicular to the base. The rectangle sides lengths are $c$ and $d$ . Point $(px,py)$ is situated in the middle of the triangle base and in the middle of side of rectangle that has length $c$ . Area of intersection of the triangle and the rectangle is zero. The direction from $(px,py)$ point to the triangle vertex opposite to base containing the point coincides with direction of $(vx,vy)$ vector.
Enumerate the arrow points coordinates in counter-clockwise order starting from the tip.

Besides game mechanics implementation to create a game it is necessary to create tool programs that can be used by game designers to create game levels. Petya's first assignment is to create a tool that allows to paint different arrows on the screen.
A user of this tool will choose a point on the screen, specify a vector (the arrow direction) and vary several parameters to get the required graphical effect. In the first version of the program Petya decided to limit parameters of the arrow by the following: a point with coordinates $(px,py)$ , a nonzero vector with coordinates $(vx,vy)$ , positive scalars $a,b,c,d,a>c$ .
The produced arrow should have the following properties. The arrow consists of a triangle and a rectangle. The triangle is isosceles with base of length $a$ and altitude of length $b$ perpendicular to the base. The rectangle sides lengths are $c$ and $d$ . Point $(px,py)$ is situated in the middle of the triangle base and in the middle of side of rectangle that has length $c$ . Area of intersection of the triangle and the rectangle is zero. The direction from $(px,py)$ point to the triangle vertex opposite to base containing the point coincides with direction of $(vx,vy)$ vector.
Enumerate the arrow points coordinates in counter-clockwise order starting from the tip.

输入格式
The only line of the input contains eight integers $px,py,vx,vy$ ( $-1000<=px,py,vx,vy<=1000,vx^{2}+vy^{2}>0$ ), $a,b,c,d$ ( $1<=a,b,c,d<=1000,a>c$ ).
输出格式
Output coordinates of the arrow points in counter-clockwise order. Each line should contain two coordinates, first $x$ , then $y$ . Relative or absolute error should not be greater than $10^{-9}$ .
输入输出样例
输入 #1
8 8 0 2 8 3 4 5
输出 #1
8.000000000000 11.000000000000 4.000000000000 8.000000000000 6.000000000000 8.000000000000 6.000000000000 3.000000000000 10.000000000000 3.000000000000 10.000000000000 8.000000000000 12.000000000000 8.000000000000
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted