zoukankan      html  css  js  c++  java
  • 笔试题算法系列(九)百度2017不等式数列

    [编程题] 不等式数列

    时间限制:1秒

    空间限制:32768K

    度度熊最近对全排列特别感兴趣,对于1到n的一个排列,度度熊发现可以在中间根据大小关系插入合适的大于和小于符号(即 '>' 和 '<' )使其成为一个合法的不等式数列。但是现在度度熊手中只有k个小于符号即('<'')和n-k-1个大于符号(即'>'),度度熊想知道对于1至n任意的排列中有多少个排列可以使用这些符号使其为合法的不等式数列。
    输入描述:
    输入包括一行,包含两个整数n和k(k < n ≤ 1000)
    输出描述:
    输出满足条件的排列数,答案对2017取模。
    输入例子1:
    5 2
    输出例子1:
    66

    代码如下:
     1 import java.lang.Math;
     2 import java.util.Arrays;
     3 import java.util.HashMap;
     4 import java.util.Scanner;
     5 
     6 public class Main{
     7     public static void main(String[] args){
     8         Scanner sc = new Scanner(System.in);
     9         String[] line;
    10         while(sc.hasNext()){
    11             line = sc.nextLine().split(" ");
    12             int n = Integer.parseInt(line[0]);
    13             int k = Integer.parseInt(line[1]);
    14             int[][] a=new int[n+1][n+1];
    15             for(int i=1;i<=n;i++){
    16                 a[i][0]=1;
    17                 a[i][i-1]=1;
    18             }
    19             for(int i=2;i<=n;i++){
    20                 for(int j=1;j<=k&&j<i;j++){
    21                     a[i][j]=(i-j)*a[i-1][j-1]+(j+1)*a[i-1][j];
    22                     a[i][j]%=2017;
    23                 }
    24             }
    25             System.out.println(a[n][k]);
    26         }
    27         sc.close();
    28     }
    29 }
  • 相关阅读:
    监督学习——AdaBoost元算法提高分类性能
    监督学习——logistic进行二分类(python)
    监督学习——朴素贝叶斯分类理论与实践
    nrm 工具的使用
    Linux下安装MySQL
    Node环境配置
    07.移动端类库
    06.网页布局
    05.预处理器
    04.触屏事件
  • 原文地址:https://www.cnblogs.com/haimishasha/p/10640144.html
Copyright © 2011-2022 走看看