zoukankan      html  css  js  c++  java
  • 一月24日新生冬季练习赛解题报告F.棋盘

    F.棋盘
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 47 (21 users) Total Accepted: 15 (15 users) Special Judge: No
    Description
    现有一棋盘,左上角为起点坐标为(1,1),右下角为终点坐标为(n,n),现在我们规定棋盘的对角线(1,1),(2,2)....(n,n)上除了起点和终点之外都不能通过,求出从起点到终点的路径数有多少个?
    Input
    多组测试数据处理到文件结束,每行包含一个整数n(2<=n<=35)。
    Output
    输出路径数.
    Sample Input
    2
    6
     
    Sample Output
    2
    28
     
    Hint
    只能向右或向下走

    dp可以完成:

    #include<iostream>

    #include<string.h>

    #include<stdio.h>

    #include<queue>

    #include<stack>

    #include<map>

    #include<vector>

    #include<cmath>

    using namespace std;

    long long int a[38][38];

    int main()

    {

        //memset(a,-1,sizeof(a));

        for(int i=1;i<=36;i++)

        {

            for(int j=1;j<=36;j++)

            {

                if(i==j)

                    a[i][j]=0;

                else if(i==1||j==1)

                {

                    a[i][j]=1;

                }

                else

                {

                    a[i][j]=a[i-1][j]+a[i][j-1];

                }

            }

        }

        int n;

        while(cin>>n)

            cout<<a[n-1][n]+a[n][n-1]<<endl;

        return 0;

    }

     

  • 相关阅读:
    补充缺失日期及对应数据
    通过拆分字段优化SQL
    left join 改写标量子查询
    对数据按组排序
    注册通用验证用户filter
    asp.net mvc FormsAuthentication一些问题
    il code swtich
    C# Equals
    Linq源代码阅读
    dotnet il editor 调试 iis 程序
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/3532966.html
Copyright © 2011-2022 走看看