【AC梦工厂】广工华工联合训练6 K
来源:互联网 发布:淘宝下架时间规则 编辑:程序博客网 时间:2024/06/05 04:56
传送门:https://vjudge.net/contest/189920#problem/K
题意:
大数错排,错排公式:F[i]=(i-1)*(F[i-1]+F[i-1])
代码:(记录下第一次java ac)
import java.io.*;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class miaomiaomiao { static BigInteger cmn(int n,int r) { BigInteger ans1=BigInteger.valueOf(1); BigInteger ans2=BigInteger.valueOf(1); BigInteger ans3=BigInteger.valueOf(1); for(int i=1;i<=n;i++){ ans1=ans1.multiply(BigInteger.valueOf(i)); } for(int i=1;i<=r;i++){ ans2=ans2.multiply(BigInteger.valueOf(i)); } for(int i=1;i<=n-r;i++){ ans3=ans3.multiply(BigInteger.valueOf(i)); } return ans1.divide((ans2.multiply(ans3))); } static BigInteger st(int n) { BigInteger ans1=BigInteger.valueOf(1); for(int i=1;i<=n;i++){ ans1=ans1.multiply(BigInteger.valueOf(i)); } return ans1; } static BigInteger gcd(BigInteger a,BigInteger b) { return a.gcd(b); } public static void main(String[] args) { int n,k; Scanner sc=new Scanner(System.in); k=sc.nextInt(); n=sc.nextInt(); if(n==k){ System.out.println("1"+"/"+st(n).toString()); }else{ BigInteger[] s=new BigInteger[200]; s[1]=new BigInteger("0"); s[2]=new BigInteger("1"); for(int i=3;i<=100;i++){ BigInteger k1=BigInteger.valueOf(i-1); s[i]=k1.multiply((s[i-1].add(s[i-2]))); } BigInteger zi; BigInteger mu; zi=cmn(n,k).multiply(s[n-k]); mu=st(n);// System.out.println(cmn(n,k));// System.out.println(s[k].toString());// System.out.println(zi.toString());// System.out.println(mu.toString());// System.out.println(gcd(zi,mu).toString()); BigInteger d=gcd(zi,mu); zi=zi.divide(d); mu=mu.divide(d); if(zi.toString()=="0") System.out.println("0"); else if(zi.toString()==mu.toString()) System.out.println("1"); else System.out.println(zi.toString()+"/"+mu.toString()); } }}
如果觉得代码写得有问题的欢迎你们提出来~
阅读全文
0 0
- 【AC梦工厂】广工华工联合训练6 K
- 【AC梦工厂】广工华工联合训练1 A
- 【AC梦工厂】广工华工联合训练1 H
- 【ac梦工厂】拓扑排序 hdu2647
- 【AC梦工厂】cf406A(div2) 扩展欧几里德
- 【AC梦工厂】最大流hdu1532模版题
- hdu 5384 Danganronpa 2015多校联合训练赛#8 ac自动机
- 软件工程网络工程第三章联合训练(AC代码和详细解释)(c语言描述)
- 梦工厂
- hdu 1241 AC广搜
- 【AC梦工厂】poj3013最短路问题(Dijkstra算法)
- 【AC梦工厂】2017 Multi-University Training Contest 3 1003|| HDU6058
- WC联合训练总结
- 联合训练图论场
- 2014 多校联合训练赛6 Fighting the Landlords
- 联合训练赛6 A 相同的窗户(hash)
- 广工anyview数据结构-6
- hdu 5412 CRB and Queries 2015多校联合训练赛#10 分治 求区间第k大数
- 二维码扫描
- 进程间通讯——信号量(一)
- 51nod 1019 逆序数 (归并排序)
- 单词,紫书P169UVa10129(有向图求欧拉路径问题,并查集求连通分支)
- 句子的逆序 -- 算法小结
- 【AC梦工厂】广工华工联合训练6 K
- PAT乙级1064. 朋友数(20)
- SpringMVC中的/*和/的区别
- 移动端设计布局
- 51nod 1254 最大子段和 V2
- error='Cannot allocate memory'
- 机器学习笔记(四)之Logistic回归
- 虚拟机下的Ubuntu桥接模式ping不同宿主机
- SpringBoot junit测试