zoukankan      html  css  js  c++  java
  • 小兔的棋盘(hdu2067)

    小兔的棋盘

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 7547    Accepted Submission(s): 4020


    Problem Description
    小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘。小兔有所失望。

    只是没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),如今小兔又想假设不穿越对角线(但可接触对角线上的格点),这种路径数有多少?

    小兔想了非常长时间都没想出来,如今想请你帮助小兔解决问题,对于你来说应该不难吧!

     
    Input
    每次输入一个数n(1<=n<=35),当n等于-1时结束输入。
     
    Output
    对于每一个输入数据输出路径数。详细格式看Sample。
     
    Sample Input
    1
    3
    12
    -1
     
    Sample Output
    1 1 2
    2 3 10
    3 12 416024
     
     

    题意:从(0,0)---(n,n)问你有几条路径;不穿过对角线。

     

    思路: 

    以对角线分开,上三角和下三角对称;

    转载请注明出处:寻找&星空の孩子 

    题目链接:http://acm.hdu.edu.cn/showproblem.php?

    pid=2067

     

    #include<stdio.h>
    #define LL __int64
    LL num[36][36]={0};
    void init()
    {
        for(int i=1;i<=35;i++)
        {
            num[i][0]=1;
            for(int j=1;j<i;j++)
                num[i][j]=num[i][j-1]+num[i-1][j];
            num[i][i]=num[i][i-1];
        }
    }
    int main()
    {
        int n,ca=1;
        init();
        while(scanf("%d",&n)!=EOF)
        {
            if(n==-1) break;
            printf("%d %d %I64d
    ",ca++,n,2*num[n][n]);
        }
        return 0;
    
    }


     

     

  • 相关阅读:
    Linux RAID部署
    系统运维架构师体系
    Linux系统上文件的特殊权限及文件acl
    Linux磁盘使用及文件系统管理
    中小规模网站架构组成
    优化配置模板主机
    网络原理基础
    MySQL二进制安装
    网络通讯基础
    点击改变背景
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5411647.html
Copyright © 2011-2022 走看看