1 条题解

  • 0
    @ 2025-4-8 23:49:21

    解题思路:

    先简单建立一个数学模型: 只要给定了长m和高n,那么要从左下角走到右上角,不管怎么走,一定要往右走m次,往上走n次。 例如给定 m=5, n=4 那么可以这样走: 上上上上上右右右右 又可以这样走: 上右上右上右上右上 等等。。。关键是“上”和“右”的先后问题,就是组合问题了。 那么数学模型就是 从n+m个位置,选择n个位放“上” (那么剩下m个位一定是“右”)

    来源: 眈眈探求 文章作者: EXP 文章链接: https://exp-blog.com/algorithm/poj/poj1942-paths-on-a-grid/ 本文章著作权归作者所有,任何形式的转载都请注明出处。

    #include <cstdio>
     
    using namespace std;
     
    #define ll long long
     
    int main()
    {
        ll n,m,ans,i,t;
     
        while(~scanf("%lld %lld",&n,&m) && n || m)
        {
            if(m < n)
            {
                t = n;
                n = m;
                m = t;
            }
            ++m;
            ans = 1;
            for(i = 1; i <= n; ++i,++m)
            {
                ans = (ans*m)/i;
            }
            printf("%lld\n",ans);
        }
     
        return 0;
    }
    
    • 1

    信息

    ID
    943
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    1
    上传者