物理课(physics)
2024-09-06 22:16:32
物理课(physics)
题目描述
wzy正在上物理课!他发现了一个完全不会的题目:caoxia在一个奇妙的星球上(重力加速度为gg)踢了一只猫,猫飞起的路线与地面夹角为θθ (角度制),初速度为vv,猫非常地开心,所以每次落地后会自己反弹,但反弹后速度会乘以一个常数d(0≤d<1)d(0≤d<1)。请问猫最后的落点离起点多远?(猫飞行时方向不会改变,飞行过程中不计空气阻力与摩擦力,所有数值单位均为国际标准单位制)
输入
第一行一个数TT,代表有TT组数据。接下来TT每行44个浮点数,分别为θ,v,d,gθ,v,d,g,保留到小数点后两位.
数据范围及约定
subtask1:50pts,d=0d=0
subtask2:50pts,0≤v≤1000,0<g≤1000,0≤d<1,0<θ<90,T≤50,0000≤v≤1000,0<g≤1000,0≤d<1,0<θ<90,T≤50,000.
(良心出题人没有构造坑人数据,不会卡精度的,只要你相信我)
P.S.这道题可能违背一些物理常识,但是有(chu)一(ti)些(ren)原(tai)因(cai),就凑合着当水题做吧。
来源
solution
论学好文化课的重要性
首先把速度分解为向上大小为cos90-θ*v 的速度和向前为cosθ*v的速度
设为x,y
则一次的距离为t*v=2xy/g
记为S
题目求S+d^2S+d^4S
等比数列求和一下
ans=S/(1-d^2)
注意cos里面是弧度
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define db double
using namespace std;
int T;
db th,v,d,g;
int main()
{
freopen("physics.in","r",stdin);
freopen("physics.out","w",stdout);
cin>>T;
while(T--){
scanf("%lf%lf%lf%lf",&th,&v,&d,&g);
db x=cos(th/180*M_PI)*v,y=cos((90-th)/180*M_PI)*v;
db tmp=x*y*2/g;
tmp=tmp/(1-d*d);
printf("%.5lf\n",tmp);
}
return 0;
}
最新文章
- 了解Solr6.1结构及实现原理
- 批处理ODBC配置
- netty发送utf-8编码的信息
- plot bar chart using python
- js实现分页列表添加样式
- [转载]关于android SDK安装Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml出错
- CKEditor和IMCE构建drupal编辑器
- CentOS 6.5 伪分布式 安装 hadoop 2.6.0
- Object-c中间initialize 与 辛格尔顿
- JS基础与循环
- 三种方式设置特定设备UWP XAML view
- WebPack的安装
- 三 Django模型层之Meta
- Windows Server 2016-三种方法备份还原DHCP服务器
- Economics degrees
- Fetch使用
- 阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)
- 剑指offer(43)左旋转字符串
- 分布式任务调度系统xxl-job源码探究(二、服务中心)
- angular2.0入门---webStorm创建angular CLI项目
热门文章
- ubuntu web server ipython notebook install
- PHP中可变变量到底有什么用?
- iOS开发遇到的坑之七--上传app Stroe被拒绝:The app references non-public symbols in : _UICreateCGImageFromIOSurface
- vue学习之路 - 3.基本操作(中)
- PHP 工厂模式介绍
- Openstack搭建(流水账)
- Vue-Router基础学习笔记
- windows环境下安装npm、cnpm、bower
- 09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回字符串
- PAT Basic 1084