zoukankan      html  css  js  c++  java
  • 一本通1660「一本通 6.6 练习 9」网格

    题目描述

    原题来自:BZOJ 3907

    某城市的街道呈网格状,左下角坐标为 A(0, 0),右上角坐标为 B(n, m),其中 nm。现在从 A(0, 0) 点出发,只能沿着街道向正右方或者正上方行走,且不能经过图示中直线左上方的点,即任何途径的点 (x,y) 都要满足 xy,请问在这些前提下,到达 B(n, m) 有多少种走法。

    gird.png

    输入格式

    仅有一行,包含两个整数 n 和 m,表示城市街区的规模。

    输出格式

    仅有一个整数和一个换行回车符,表示不同的方案总数。

    样例

    样例输入

    6 6

    样例输出

    132

    数据范围与提示

    对于全部数据,1mn5000。

    sol:那幅图看上去就很像卡特兰数的那张图,不过卡特兰数满足n=m

    其实差不多,答案就是C(n+m,n)-C(n+m,n+1)

    Ps:python偷懒

    Jiec={};
    def C(n,m):
        return Jiec[n]/Jiec[m]/Jiec[n-m];
    Jiec[0]=1;
    for i in range(1,10000):
        Jiec[i]=Jiec[i-1]*i;
    f=raw_input().split(" ");
    n=int(f[0]); m=int(f[1]);
    print(C(n+m,n)-C(n+m,n+1));
    View Code
  • 相关阅读:
    牛客网 CSL的英语考试
    SDNU 1016.矩形合并
    SDNU 1412.Huffuman树(优先队列)
    HDU
    HDU
    HDU
    SDNU 1504.B.Fibonacci
    Find them, Catch them(种类并查集)
    golang中的net/rpc包
    gRPC
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10547238.html
Copyright © 2011-2022 走看看