南邮 OJ 1180 H - 管道小球
来源:互联网 发布:win10软件锁怎么设置 编辑:程序博客网 时间:2024/05/20 08:22
H - 管道小球
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 64 测试通过 : 18
总提交 : 64 测试通过 : 18
比赛描述
有一个截面为长方形的管道,不放假设在笛卡尔坐标系中,该管道的中轴线恰好为x轴,管道的入口位于平面x=0,管道出口位于x=X。
管道界面的长为a,宽为b,且长边平行于y轴,宽边平行于z轴。
假设在管道的入口处(0,0,0)有一个半径可忽略并且不计重力的小球,现在给小球一个初速度v=(vx,vy,vz)使得小球运动。假设当小球与管道壁相碰,小球会完全的反弹。请问小球能否到达出口截面?截面坐标是什么?
输入
一行,包含6个整数:a,b,X,vx,vy,vz(0<b<a<10000,0<=x<=10000,-10000<=vx,vy,vz<=10000)
输出
若小球能到达管道出口截面,则输出一个实数:X,Y,Z,用单个空格隔开,表示到达是的坐标,否则,输出“impossible”,所有结果保留3位小数。
样例输入
10 10 10 10 0 0
样例输出
10.000 0.000 0.000
提示
undefined
题目来源
NJU 7th ACM contest
#include<iostream>int main(){//freopen("test.txt","r",stdin);double a,b,X,vx,vy,vz,t,disy,disz;scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&X,&vx,&vy,&vz);if(vx==0){if(X==0){printf("%.3lf %.3lf %.3lf\n",X,0,0);}else{printf("impossible\n");}return 0;}t = X/vx;if(t<0){printf("impossible\n");return 0;}disy = vy*t;while(disy<-a/2){disy += 2*a;}while(disy>3*a/2){disy -= 2*a;}if(disy>a/2){disy = a-disy;}disz = vz*t;while(disz<-b/2){disz += 2*b;}while(disz>3*b/2){disz -= 2*b;}if(disz>b/2){disz = b-disz;}printf("%.3lf %.3lf %.3lf\n",X,disy,disz);}
0 0
- 南邮 OJ 1180 H - 管道小球
- 管道小球
- 南邮 OJ 1099 移动小球
- oj小球自由下落
- OJ——小球下落
- 小球自由下落(OJ平台)
- OJ题——小球落地问题
- 【华为OJ】小球落地5次
- 第八周 OJ 小球自由下落
- 第八周-OJ-D小球自由下落
- 第八周OJ项目-小球自由下落
- oj(二)h
- OJ 1.H
- OJ 2H
- 小球
- 小球
- 小球
- 小球
- QQ通信原理概述
- 开发者必知的五大编程谬论
- expect实现scp ssh自动输入密码登录
- final、static、static final修饰的字段赋值的区别
- error LNK2005, already defined?
- 南邮 OJ 1180 H - 管道小球
- win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
- 公司注册的种类及英文缩写
- Servlet接收JSP参数乱码问题解决办法
- leetcode --237 delete node in a linked list
- HTML embed标签使用方法和属性详解
- 如何获取别人微信文章中的图片
- 有些品牌Android真机无法打印log解决办法
- Linux下chkconfig命令详解