2013/7/21
来源:互联网 发布:单片机网络培训机构 编辑:程序博客网 时间:2024/05/29 09:34
CF 9B. Running Student
本题在int运算完转化为double时,出现问题:1.先进行int的整除后转换为double. 2.int
型平方后超出int范围,数据溢出后转换为double,数据同样溢出。
这两个问题可以归为一类:double=int运算式。先用int算出结果,后转换为double。
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int main(){ int vb,vs,n,x[105],x0,y0,i,r; double t1[105],t2[105],min,min2; scanf("%d%d%d",&n,&vb,&vs); for(i=0;i<n;i++) scanf("%d",&x[i]); scanf("%d%d",&x0,&y0); for(i=1;i<n;i++) { t1[i]=x[i]/vb;//此处为精度丢失处 t2[i]=sqrt((x0-x[i])*(x0-x[i])+y0*y0);//此处为数据溢出处 t2[i]/=vs; } min=1e7; for(i=1;i<n;i++) { if(min>t1[i]+t2[i]){min=t1[i]+t2[i];min2=t2[i];r=i+1;} else if(min==t1[i]+t2[i]) { if(t2[i]<min2) { r=i+1; min2=t2[i]; } } } printf("%d\n",r); return 0;}
ZOJ 3383 Shiro? Kuro?
本题比较无语,通过公式转换,将RGB形式像素转换为黑或白。本题第一时间觉得用double,int精度丢失比较大。结果double无语的卡了,int过去了
- 2013/7/21
- 2013年6月7日 21:17:52
- 2013年7月6日 20:40:21
- 2013年7月10日 20:21:31
- 今天是2013年7月21日
- 7-21
- 7/21
- 2013/1/21
- 2013-02-21
- 2013-9-21 任务
- 2013-09-21
- 2013/09/21
- 2013-9-21 会议记录
- 2013-11-21
- 2013-11-21日志
- 2013-12-21面试
- NYOJ-40-公约数和公倍数-2013年7月25日21:18:15
- NYOJ-113-字符串替换-2013年7月25日21:39:03
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
- List,Set,Map区别
- Dalvik虚拟机的进程和线程管理
- SCons使用说明
- linux系统时间修改及同步
- 2013/7/21
- C++new失败的处理
- 浅谈C#链接SQL server 数据库问题。
- photoshop快捷键
- 2个蛋疼的问题
- iOS开发技巧 -- 复用代码片段
- 一些与编译,链接相关的问题(-fPIC)
- opengl编程错误及解决方案
- tomct启动过程 bootstrap catalina