题意:

这题是一道简单的物理题,实际上只要一个抛物线的公式就可以了,一共有3种鸟,各有不同的特性:

红鸟的轨迹是一条抛物线;

黄鸟的前期轨迹是一条抛物线,在t时,黄鸟的Vx,Vy翻倍;

蓝鸟的前期轨迹是一条抛物线,在t时,可以分裂成3只小蓝鸟,每只的轨迹都是抛物线。

分析:

说来说去,其实都是求抛物线的,因此只要有一个函数用来计算,那么做起来会方便的多。

#include"stdio.h"
#include"string.h"
#include"math.h"
double fun(double vx,double vy,double h)//计算水平距离
{
 return vx*(vy+sqrt(vy*vy+2*9.8*h))/9.8;
}
double fun1(double vy,double h,double t)//计算竖直高度。
{
 return h+vy*t-4.9*t*t;
}
int main()
{
 double m,n,vx,vy,t,v1,h,v2,v3,l;
 char a[100];
 while(scanf("%lf%s",&h,a)!=EOF)
 {
  if(strcmp(a,"Red")==0)
  {
   scanf("%lf%lf",&vx,&vy);
   printf("%.3lf\n",fun(vx,vy,h));
  }
  else if(strcmp(a,"Blue")==0)
  {
   scanf("%lf%lf%lf%lf%lf%lf",&vx,&vy,&t,&v1,&v2,&v3);
             m=fun(vx,vy,h);
    n=fun1(vy,h,t);
    if(m<t*vx)//如果t时刻已经落地。
    {
     printf("%.3lf\n",m);
     continue;
    }
   // 否则的话重新计算此时的高度,竖直速度和水平距离。。
    h=fun1(vy,h,t);
    vy=vy-9.8*t;
    l=vx*t;
    printf("%.3lf %.3lf %.3lf\n",l+fun(v1,vy,h),l+fun(v2,vy,h),l+fun(v3,vy,h));
  }
  else
  {
   scanf("%lf%lf%lf",&vx,&vy,&t);
   if(fun(vx,vy,h)<t*vx)//如果t时刻已经落地。
   {
   printf("%.3lf\n",fun(vx,vy,h));
   continue;
   }
   //否则的话重新计算此时的高度,竖直速度和水平距离。。
   h=fun1(vy,h,t);
   l=vx*t;
   vy=vy-9.8*t;
   printf("%.3lf\n",l+fun(2*vx,2*vy,h));
  }
 }
 return 0;
}

hdu(3940)The Angry Birds相关推荐

  1. 杭电 2111 Saving HDU (贪心)

    Description 话说上回讲到海东集团面临内外交困,公司的元老也只剩下XHD夫妇二人了.显然,作为多年拼搏的商人,XHD不会坐以待毙的.    一天,当他正在苦思冥想解困良策的时候,突然想到了自 ...

  2. hdu 2111 Saving HDU (DP)

    点击打开链接 ps:动态规划 -装箱 #include<stdio.h> #include<stdlib.h>struct fun{int p,m;}a[105];int cm ...

  3. HDU4730--We Love MOE Girls HDU(148)

    草,这么简单的题,我们15分钟才出来,这次排名靠后因为水题没切好啊 #include <iostream> #include <cstdio> #include <cst ...

  4. hdu(4339)树状数组+二分查找

    /* s1[i]与s2[i]匹配,树状数组i位置更新1,否则更新0.*/#include<stdio.h> #include<string.h> #include<alg ...

  5. Chrome游戏:超级玛丽(Super Mario Bros. Crossover)、愤怒的小鸟(Angry Birds

    查看原文:http://www.hellonet8.com/431.html 好久没有去关注chrome的扩展有游戏了,今天闲来没事,就去chrome的应用商店去瞧了下,发现几个不错的chrome游戏 ...

  6. HDU 4466 Triangle(计数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4466 题意:给出一根长度为n的铁丝.将其分成若干段并将每段折成一个三角形,使得三角形都相似.有多少种分 ...

  7. HDU 6114 Chess 【组合数】(2017百度之星程序设计大赛 - 初赛(B))

    Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. HDU 4652 Dice:期望dp(成环)【错位相减】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4652 题意: 给你一个有m个面的骰子. 两种询问: (1)"0 m n": &qu ...

  9. HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)

    HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

最新文章

  1. 旧手机的新玩法:postmarketOS 已适配上百款安卓手机
  2. Android之安装常见的一些解决方法
  3. golang 正则使用总结
  4. linux网卡绑定lacp,服务器网卡绑定为LACP 802.3ad,交换机是应该配置链路聚合吗?...
  5. [洛谷P4726]【模板】多项式指数函数
  6. DCASE2013挑战赛介绍
  7. 一次微信小程序的快速开发体验
  8. XML——XML概述
  9. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - MMX技术(6) - 移位与循环移位指令
  10. web:网站性能工具Yslow
  11. 在IntelliJ IDEA配置Tomcat
  12. Oracle Sql关于case-when,if-then,decode
  13. svn删除文件出错的经验总结
  14. linux锐捷代码_锐捷 for linux - 沈阳建筑大学
  15. AcWing 741. 斐波那契数列
  16. ibm服务器阵列卡与型号,IBM阵列卡介绍和服务器对阵列卡的支持情况
  17. 【目标检测】YOLOv3:An Incremental Improvement
  18. pandas使用速查表
  19. B站带货,如何快速创作B站爆款带货视频?
  20. java怎么查看jdk版本_java版本和jdk版本必须一样

热门文章

  1. html+css实现唯美简洁登录页面
  2. 2021年陕西商洛高考成绩查询,2021年陕西商洛各高中中考分数线及录取时间结果查询安排...
  3. 如何让IIS支持未知文件扩展名下载(转)
  4. 童话里都是骗人的,扒一扒那些悲惨的原配,富家女扶贫是什么下场
  5. CSMA/CA载波侦听多路访问及冲突避免协议
  6. python中f.read()与f.readline区别
  7. windows查看文件的md5值
  8. Ontology and NLP Support for Building Disaster Knowledge Base
  9. 波特五力模型(Porter's Five Forces Model)
  10. 想建一个服务器,使用云服务器好些还是个人电脑好些?