#include <stdio.h>
#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
double xs(int L, int W, int x, int y, int R, int a, int v, int s)
{
double m,a2;
a2 = a*asin(1) * 2 / 180;
m = x + v*s*cos(a2);
while (1)
{
if (m > L - R)
m = 2 * (L - R) - m;
else if (m < R)
m = 2 * R - m;
else break;
}
return m;
}
double ys(int L, int W, int x, int y, int R, int a, int v, int s)
{
double n, a2;
a2 = a*asin(1) * 2 / 180;
n = y + v*s*sin(a2);
while (1)
{
if (n > W - R)
n = 2 * (W - R) - n;
else if (n < R)
n = 2 * R - n;
else break;
}
return n;
}
int main()
{
int i=0, j,L, W, x, y, R, a, v, s;
double m[25],n[25],X,Y;
while (cin >> L >> W >> x >> y>> R >> a >> v >> s)
{
if (L == 0 && W == 0 && x== 0 && y == 0 && R == 0 && a == 0 && v == 0 && s == 0)
break;
m[i] = xs(L, W, x, y, R, a, v, s);
n[i] = ys(L, W, x, y, R, a, v, s);
i++;
}
for (j = 0; j < i; j++)
{
X = m[j];
Y = n[j];
cout <<setprecision(2)<<fixed<< X << " " <<setprecision(2)<<fixed<< Y << endl;
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复