9.5中兴笔试编程2代码

使用BigInteger实现

做法十分暴力,一定要超时的,不知道用例有没有作时间限制。

贴出来给大家图一乐⑧
import java.math.BigInteger;
import java.util.Scanner;

public class Solution2 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int n =sc.nextInt();
		int m =sc.nextInt();
		int k =sc.nextInt();

		BigInteger sum=new BigInteger("0");
		for (int i = 3; i <= n; i++) {
			for (int j = 2; j <= m; j++) {
				if(i+j==k) {
					BigInteger temp1 = get(new BigInteger(n+"")).divide(get(new BigInteger(i+"")).multiply(get(new BigInteger((n-i)+""))));
					BigInteger temp2 = get(new BigInteger(m+"")).divide(get(new BigInteger(j+"")).multiply(get(new BigInteger((m-j)+""))));
					sum= sum.add((temp1.multiply(temp2)));
					if (sum.intValue() > 1000000007) {
						sum = sum.remainder(new BigInteger("1000000007"));
					}
				}
			}
		}
		System.out.println(sum.remainder(new BigInteger("1000000007")));
		
	}

	private static BigInteger get(BigInteger m) {
		BigInteger temp = new BigInteger("1");
		if (m.intValue()==0) {
			return temp;
		}
		
		for (int i = 1; i <= m.intValue(); i++) {
			temp = temp.multiply(new BigInteger(i+""));
		}
		return temp;
	}
	


	
}



#笔试题目##中兴#
全部评论
测试用例过不去大部分情况是溢出了,这题我也没做出来,最后没时间改了。
点赞 回复 分享
发布于 2020-09-05 17:18

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务