本文主要是介绍2018 Multi-University Training Contest 9 hdu 6415 Rikka with Nash Equilibrium(规律),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://acm.hdu.edu.cn/showproblem.php?pid=6415
规律题。
需要用大数。
比赛跑2000ms左右的都是c++大数
至于0ms的估计是直接公式。。。
代码是转的java版本。。
感觉这种规律是真的想不到。。。
import java.math.BigInteger;
import java.awt.Container;
import java.math.*;
import java.math.BigInteger;
import java.util.*;import org.omg.PortableServer.ID_ASSIGNMENT_POLICY_ID;
public class Main
{ public static void main(String[] args) { Scanner cin=new Scanner(System.in);int t = cin.nextInt();for(int i=1;i<=t;i++){int n = cin.nextInt();int m = cin.nextInt();BigInteger k = cin.nextBigInteger();if(n==1){BigInteger ans = BigInteger.ONE;for(int j=1;j<=m;j++){ans = ans.multiply(BigInteger.valueOf(j));}ans = ans.mod(k);System.out.println(ans);}else {BigInteger ans1 = BigInteger.ONE;for(int j=1;j<=n;j++){ans1 = ans1.multiply(BigInteger.valueOf(j));}//System.out.println(ans1);for(int j=2;j<=m;j++){BigInteger tt = BigInteger.valueOf(j*n);BigInteger temp = BigInteger.ONE;for(int kk=0;kk<n;kk++){temp = temp.multiply(tt.subtract(BigInteger.valueOf(kk)));}ans1 = ans1.multiply(temp);ans1 = ans1.multiply(BigInteger.valueOf(j)).divide(BigInteger.valueOf(j+n-1));}ans1 = ans1.mod(k);System.out.println(ans1);}}cin.close();}
}
这篇关于2018 Multi-University Training Contest 9 hdu 6415 Rikka with Nash Equilibrium(规律)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!