|
|
一道很简单的模拟题
#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;} |
|