蘑菇街笔试题1
来源:互联网 发布:jenkins windows 编辑:程序博客网 时间:2024/04/30 01:46
题目一 搬圆桌
现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。
分析:其实这道题很简单,每一次圆心的移动,其变化的距离范围为0-2R,所以,至少需要移动几步,就是算移动后的圆心到当前圆心的距离除以2r,有小数需要进一。输入描述:
一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)
输出描述:
输出一个整数,表示答案
输入例子:
2 0 0 0 4
输出例子:
1
(PS:开始用int时,显示测试案例正确80%,结果会溢出,所以我改用的long long防止溢出.)
#include<iostream>#include<math.h>using namespace std;long long dist(long long x1,long long y1,long long x2,long long y2){return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));}int main(){int r,x1,y1,x2,y2; while(cin >> r >> x1 >> y1 >> x2 >> y2) { int ans = 1; long long dis = dist(x1,y1,x2,y2); while(ans * 2*r < dis) ans++; cout << ans <<endl; } return 0;}
0 0
- 蘑菇街笔试题1
- 蘑菇街实习生笔试题
- 蘑菇街笔试题5
- 蘑菇街笔试题总结
- 蘑菇街2016招聘在线笔试题
- 笔试题(蘑菇街):最大间隔
- 笔试题(蘑菇街):回文串
- 蘑菇街笔试题 搬圆桌
- 蘑菇街笔试题 最大间隔
- 蘑菇街笔试题 投篮比赛
- 特殊交换(蘑菇街笔试题)
- 【蘑菇街笔试】
- 蘑菇街2016招聘笔试
- 百度笔试题:蘑菇阵
- 蘑菇街三人斗地主随机发牌的笔试题
- 2015蘑菇街实习生笔试题:A+B= M
- 蘑菇街2016暑期实习笔试编程题
- 2016.3.31 蘑菇街笔试编程题2
- 布局管理器
- 第一周学习笔记
- CWnd的常用成员函数
- 雅思考试经验分享,G类移民不可错过!
- objective-c类别和类扩展学习笔记
- 蘑菇街笔试题1
- 汇编中除法的问题
- Java - Collection
- 中级题:二师弟的星际加法
- Android EditText清除光标
- Knuth-Morris-Pratt 字符串查找算法
- jsp page 提示[page] is not properly terminated
- 平滑的手写签名View
- 递归6_简单的0/1背包问题 去除相同的数