首页 > 代码库 > 51nod 1381 硬币游戏

51nod 1381 硬币游戏

分析:绝大部分情况硬币与直线相交数目为2*R条,极少数情况为2*R+1条。所以数学期望E=0.9999999*2*R+0.00000001*(2*R+1),而要求输出整数部分,则为2*R。
 
代码:
 
技术分享
 1 #include <iostream>
 2 using namespace std;
 3 typedef long long ll;
 4 ll r;
 5 int main()
 6 {
 7     ios::sync_with_stdio(false);
 8     int t;
 9     cin>>t;
10     while(t--)
11     {
12         cin>>r;
13         cout<<r*2<<endl;
14     }
15     return 0;
16 }
View Code

 

1381 硬币游戏技术分享
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
技术分享 收藏
技术分享 关注
技术分享 取消关注

有一个简单但是很有趣的游戏。在这个游戏中有一个硬币还有一张桌子,这张桌子上有很多平行线(如下图所示)。两条相邻平行线之间的距离是1,硬币的半径是R,然后我们来抛硬币到桌子上,抛下之后硬币有时候会和一些直线相交(相切的情况也算是相交),有时候不会。

请你来计算一下抛一次硬币之后,该硬币和直线相交数目的期望。

技术分享
 
Input
第一行给出一个整数T,表示有T组数据(1<=T<=10000)。
第2行到T+1,每行给出一个整数R。(0< R <= 10,000,000,000)
Output
对于每一个数据,在一行中输出答案的整数部分即可。
Input示例
1
1
Output示例
2

51nod 1381 硬币游戏