poj 1852 3684

这两题思路相似就放在一起.

1852

题意

一块长为L长度单位的板子(从0开始)上有很多只蚂蚁,给出它们的位置,它们的方向不确定,速度为每秒一长度单位,当两只蚂蚁相遇的时候,它们会反向而行,问所有蚂蚁到达终点(到0或者到L)所需要的最短时间和最长时间。

解析

一开始拿到这题觉得还是有点难度的,但一想通就发现这是个大水题。我们可以假设两只蚂蚁它们相向而行,并且它们中间没有别的蚂蚁,此时它们距离为k,经过时间t后它们相遇,此时它们反向,又经过时间t它们再次之间距离还是k。但如果我们假设它们相遇不反向,那么它们的情况也是一样的。所以这些所谓的反向都是在迷惑你,事实上根本不需要反向这种操作,所以这题就变得非常水了。

代码

#include<cstdio>
#include<algorithm>
using namespace std;
int T,n,s,k;
int main(){
scanf("%d",&T);
while(T--){
int minn=0;
int maxn=0;
scanf("%d %d",&s,&n);
for(int i=1;i<=n;++i){
scanf("%d",&k);
minn=max(minn,min(k,s-k));
maxn=max(maxn,max(k,s-k));
}
printf("%d %d\n",minn,maxn);
}
return 0;
}

3684

题意

将N个半径为R的球放入一个圆桶(圆桶口径刚好放入一个球),将圆桶竖直放着,最下端距离地面H高度,让球每隔一秒自由下落,求T时刻各个球距离地面的高度。(弹性碰撞没有能量损失)

解析

跟前面的题目相同,由于质量相同,碰撞又没有能量损失,由动量守恒可知它们只是速度反向,所有的球都一样可以忽视它们的碰撞,视为互相穿过继续运动。这样就可以分别单独求出每个球T时刻的高度后排序就是答案了。

代码

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const double g=10.0;
int N,H,R,T,C;
double y[110];
double cal(double T){
if(T<0) return H;
double t=sqrt(2*(double)H/g);
int k=T/t;
if(k&1){//判断向上还是向下,奇数向上,偶数向下
double d=k*t+t-T;
return H-(d*d*g/2.0);
}else{
double d=T-k*t;
return H-(d*d*g/2.0);
}
}
int main(){
scanf("%d",&C);
while(C--){
scanf("%d %d %d %d",&N,&H,&R,&T);
for(int i=0;i<N;++i){
y[i]=cal((double)T-i);
}
sort(y,y+N);
for(int i=0;i<N;++i){
printf("%.2f%c",y[i]+2*R*i/100.0,i+1==N ? '\n':' ');//cm->m
}
}
return 0;
}

最新文章

  1. Android进程保活
  2. SpringMvc+Spring+Mybatis的jar包依赖关系图
  3. struts配置文件中如何从一个package的action跳到另一个package中的某个action
  4. [Effective Java]第七章 方法
  5. C# 系统应用之通过注册表获取USB使用记录(一)
  6. git github 使用教程
  7. 浅谈页面无刷新技术ajax
  8. Java中一个方法只被一个线程调用一次
  9. 关于如何在微信里面让video不全屏播放
  10. 网站开发进阶(二十五)js如何将html表格导出为excel文件
  11. 结合JDK源码看设计模式——策略模式
  12. Tensorflow计算加速
  13. OS模块常用方法
  14. spring cloud (三、服务提供者demo_provider)
  15. datatable fix error&ndash;Invalid JSON response
  16. Linux中查看磁盘容量
  17. 30分钟带你了解Springboot与Mybatis整合最佳实践
  18. 前端模块化(AMD和CMD、CommonJs)
  19. YUI前端优化之javascript,css篇
  20. tomcat配置服务

热门文章

  1. nginx只允许域名访问,禁止ip访问 禁止其他域名访问
  2. spring-data-mongodb中的MongoTemplate与MongoRepository及推荐
  3. RabbitMQ教程C#版 - 发布订阅
  4. SpringMVC RequestLoggingFilter log to file
  5. ffmpeg编译错误,提示找不到相应的shared libraries :libavdevice.so.53
  6. HTML中 :after和:before的作用及使用方法(转)
  7. Java8的时间日期API
  8. Spring cloud微服务安全实战-4-6搭建OAuth2资源服务器
  9. 多个wav音频文件合并(连接)成一个文件
  10. Dockerfile构建nginx镜像