为了账号安全,请及时绑定邮箱和手机立即绑定

2021Multi-UniversityTrainingContest6LPinball受力分析

标签:
机器学习

将物体的重力加速度分解。

一部分用来做弹起运动,一部分用来做匀加速直线运动。

可以计算得出两个方向上的运动周期,两者之商为答案

#include

#include

#include

#include

using namespace std;

typedef long long int LL;

const int N=1e5 + 10;

const int mod=998244353;

const double g=9.8;

const double pi=acos(-1.0);

double t, vx, vy, v;

int T;

double a, b, x, y;

int main()

{

scanf("%d",&T);

while(T–){

scanf("%lf%lf%lf%lf",&a,&b,&x,&y);

t=sqrt(2.0*(y-b/a*(-x))/g);

vx=0; v=vy=g*t;

int ans=0;

double da=atan(b/a), db=pi/2-da;

vx=v * cos(fabs(db-da));

vy=v * sin(fabs(db-da));

double temp=-x;

while(temp > 0){

ans ++;

if(db >=da) t=vy*2/g;

else t=0;

double B=2*(vy-bvx/a), C=2bvxt/a;

double tt=(-B + sqrt(BB + 4g*C))/2/g;

t=t + tt;

vy=vy + g*tt;

temp -=vx * t;

if(vx==0) db=pi/2;

else db=atan(vy/vx) - da;

v=sqrt(vxvx + vyvy);

vx=v * cos(fabs(db-da));

vy=v * sin(fabs(db-da));

}

printf("%d

", ans);

}

return 0;

}

2021Multi-UniversityTrainingContest6LPinball受力分析

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消