zoukankan      html  css  js  c++  java
  • ACM Little Rooks 数学问题

    E - Little Rooks
    Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

    Description

    Inspired by a "Little Bishops" problem, Petya now wants to solve problem for rooks. 

    A rook is a piece used in the game of chess which is played on a board of square grids. A rook can only move horizontally and vertically from its current position and two rooks attack each other if one is on the path of the other. 

    Given two numbers n and k, your job is to determine the number of ways one can put k rooks on an n × n chessboard so that no two of them are in attacking positions. 

    Input


    The input file contains two integers n (1 ≤ n ≤ 10) and k (0 ≤ k ≤ n2). 

    Output


    Print a line containing the total number of ways one can put the given number of rooks on a chessboard of the given size so that no two of them are in attacking positions. 

    Sample Input


    Input
     
     
    4 4 
     
     

    Output
     
     
    24 
     
     
     
    用数学知识 c(n,k)* c(n,k) * A(k,k)
     
     
    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    
    int Jiecheng(int x)
    {
        int sum = 1;
        for(int i = 1;i <= x; i++)
            sum *= i;
        return sum;
    }
    int main()
    {
        int n ,k;
        int sum;
    
        scanf("%d%d",&n,&k);
        if(n < k)
        {
            sum = 0;
        }
        else
        {
            sum = (Jiecheng(n)/Jiecheng(k)/Jiecheng(n - k))*(Jiecheng(n)/Jiecheng(k)/Jiecheng(n - k)) * Jiecheng(k);
        }
        printf("%d
    ",sum);
    }
  • 相关阅读:
    3.List.Set
    2.Collection.泛型
    1.Object类.常用API
    MySQL-核心技术
    奇异的家族-动态规划
    动态规划-等和的分隔子集
    跳跃游戏-贪心
    跳跃游戏2
    爬楼梯
    组合博弈1536-S-Nim
  • 原文地址:https://www.cnblogs.com/wejex/p/3234864.html
Copyright © 2011-2022 走看看