LA3708
来源:互联网 发布:iphone与mac airplay 编辑:程序博客网 时间:2024/05/01 14:58
Problem: Graveyard
Description: 有
Solution: 这个问题我看到的第一感觉就是枚举。我们要计算出
Code(C++):
#include <stdio.h>#include <math.h>const double L=10000;int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ double sig_pre=L/n; double sig_now=L/(n+m); double ans=0; for(int i=1;i<n;i++){ double pos=sig_pre*i; double pre_pos=sig_now*(int)(pos/sig_now); double pre_pos2=pre_pos+sig_now; ans+=pos-pre_pos>pre_pos2-pos? pre_pos2-pos:pos-pre_pos; } printf("%.4f\n",ans); } return 0;}
而刘汝佳大神的解法和我的很相似,但是他代码和想法真的是精辟。他是把这个周长缩小的10000倍。然后利用四舍五入的方式去选择到哪个点。而且他还提到了会不会两个点同时移动到同一个点去。答案是肯定不会的。我们可以这么考虑。设N个墓地时的位置为
Code(C++):
#include <stdio.h>#include <math.h>const double L=10000;int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ double ans=0; for(double i=1;i<n;i+=1){ double pos=i/n*(n+m); ans+=fabs(pos-(int)(pos+0.5))/(n+m); } printf("%.4f\n",ans*L); } return 0;}
0 0
- LA3708
- LA3708:Graveyard
- LA3708-Graveyard
- LA3708 - Graveyard(墓地)
- 思维锻炼LA3708
- LA3708 Graveyard 墓地雕塑
- LA3708墓地雕塑
- LA3708 Graveyard 墓地雕塑
- LA3708 Graveyard (暴力)
- LA3708 墓地雕塑
- LA3708 Graveyard --思维的体操
- LA3708 Graveyard 墓地雕塑-水题
- LA3708 - Graveyard (等比缩放)
- 墓碑移动 LA3708(圆上点的移动)
- Android面试习题及个人解答
- java34java中的IO(三)
- IPython 与 Jupyter
- Wet Shark and Bishops
- IE8绝对定位竖直向下拉伸,footer没有贴底
- LA3708
- application
- 安卓实战之如何快速搭建app架构
- 那年青春
- 修改List内部对象的属性值并保存
- iOS BSD Socket TCP编程
- VC之 delete和delete [] 的区别
- vs2013 报错error C1083: 无法打开包括文件:“gl\glew.h”: No such file or directory\
- 多重背包