HDU4762Cut the Cake(概率)

来源:互联网 发布:阿里云备案客服 编辑:程序博客网 时间:2024/05/19 00:37

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4762

 

题意:

将一个原型蛋糕分成m份扇形,然后使n个草莓恰好在其中的一份上

 

分析:

我们从中先取出一个来有n种选择,然后剩下的n-1个草莓在其极角[0,360/m]的范围内。

一个的概率为1/m,n-1个的概率为1/m^(n-1);

因此总的概率为n/m^(n-1).,因为20^20超过了longlong, 需要用高精度

 

代码如下:

//package fuck;import java.math.BigInteger;import java.util.Scanner;public class Main {static BigInteger gcd(BigInteger a,BigInteger b){if(!b.equals(BigInteger.ZERO)) return gcd(b,a.mod(b));return a;}    public static void main(String args[]){          Scanner cin=new Scanner(System.in);          int t =  cin.nextInt();        while(t>0){        int m = cin.nextInt();        int n = cin.nextInt();        BigInteger N = BigInteger.valueOf(n);        BigInteger M = BigInteger.valueOf(m).pow(n-1);        BigInteger tmp = gcd(N,M);        System.out.println(N.divide(tmp)+"/"+M.divide(tmp));        t--;        }    }  }  


 

 

0 0
原创粉丝点击