ZJNU 2345 - 小Y的方格纸
作者:互联网
明显,总共有n*m格,已经涂了k格
所以剩下n*m-k格
如果n*m-k<=k,即k已经占用了大于等于一半的格子,显然答案为0
否则
剩下的格子中取k+1,k+2...n*m-k格均可
取组合数求解,所以答案为
但因为组合数下标太大
可以处理杨辉三角(推荐)
或者处理因子
或者使用Python或者Java等等
下面列出Java大数程序参考
1 import java.util.Scanner; 2 import java.math.BigInteger; 3 public class Main{ 4 static BigInteger getC(int u,int d){ 5 if(u>d) 6 return BigInteger.ZERO; 7 if(u>d-u) 8 u=d-u; 9 BigInteger ans=BigInteger.ONE; 10 for(int i=1;i<=u;i++) 11 ans=ans.multiply(new BigInteger(String.valueOf(d-i+1))).divide(new BigInteger(String.valueOf(i))); 12 return ans; 13 } 14 public static void main(String[] args){ 15 Scanner in=new Scanner(System.in); 16 BigInteger ans=BigInteger.ZERO; 17 int n=in.nextInt(),m=in.nextInt(),k=in.nextInt(),ls; 18 ls=n*m-k; 19 for(int i=k+1;i<=ls;i++) 20 ans=ans.add(getC(i,ls)).remainder(new BigInteger("111111")); 21 System.out.println(ans); 22 } 23 }
标签:2345,BigInteger,Java,或者,int,import,ZJNU,java,方格纸 来源: https://www.cnblogs.com/stelayuri/p/12238896.html