uva 11971 Polygon
生活随笔
收集整理的這篇文章主要介紹了
uva 11971 Polygon
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://vjudge.net/problem/UVA-11971
?
有一根長度為n的木條,隨機選k個位置把它們切成k+1段小木條。求這些小木條能組成一個多邊形的概率。
?
將木條看做一個圓,線上切k刀等價于圓上切k+1刀
如果能組成多邊形,每一段木條的長度都要<圓周長/2
反過來,如果不能組成多邊形,有且僅有一段長度>=圓周長/2
?
如圖所示,第一刀可以隨便切,接下來的每一刀都要在第一刀所在的那個半圓上
概率=(1/2)^k
每一個切點處,都可以斷開成為線,共有k+1種斷法
所以不能構成多邊形的概率=(k+1)*(1/2)^K
答案就是用1減去它
?
注意:這是幾何概型,可能情況無限,所以不能分析每一刀具體切在哪兒
?
?
?
?
#include<cstdio> #include<algorithm> using namespace std; long long fz,fm,gcd; long long bit[51]; int main() {int t,n,k;bit[0]=1;for(int i=1;i<=50;i++) bit[i]=bit[i-1]*2; scanf("%d",&t);for(int i=1;i<=t;i++){scanf("%d%d",&n,&k);fz=bit[k]-k-1;fm=bit[k];gcd=__gcd(fz,fm);fz/=gcd; fm/=gcd;printf("Case #%d: %lld/%lld\n",i,fz,fm);} }?
轉載于:https://www.cnblogs.com/TheRoadToTheGold/p/6941742.html
總結
以上是生活随笔為你收集整理的uva 11971 Polygon的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑桌面计算机分区不显示,win10硬盘
- 下一篇: 【bzoj3514】 Codechef