7th_H

一道很简单的模拟题

#include<cstdio>
int main() {
int a, b, X, vx, vy, vz;
scanf("%d%d%d%d%d%d", &a, &b, &X, &vx, &vy, &vz);
if (vx <= 0)
printf("impossible\n");
else {
double fx = X;
double t = fx / vx;
double sy = vy * t;
double sz = vz * t;
double yy=1;
double zz=1;
if(sy<0){
yy=-1;
sy=-sy;
}
if(sz<0){
zz=-1;
sz=-sz;
}
while (sy > (2 * a))
sy -= (2 * a);
while (sz > (2 * b))
sz -= (2 * b);
double ry, rz;
if (sy > (3 * a / 2)) {
ry = sy - a*2;
} else if (sy > a / 2) {
ry = a - sy;
} else {
ry = sy;
}
if (sz > (3 * b / 2)) {
rz = sz - b*2;
} else if (sz > b / 2) {
rz = b - sz;
} else {
rz = sz;
}
printf("%.3lf %.3lf %.3lf\n",fx ,ry*yy, rz*zz);
}
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值