zoukankan      html  css  js  c++  java
  • codevs2693 上学路线(施工)

    难度等级:黄金

    2693 上学路线(施工)

    题目描述 Description

    问题描述

     你所在的城市街道好像一个棋盘,有a条南北方向的街道和b条东西方向的街道。

       南北方向a条街道从西到东依次编号为1到a,而东西方向的b条街道从南到北依次编号为1到b,南北方向的街道i和东西方向的街道j的交点记为(i,j)。

       假定你住在(1,1)处,而学校在(a,b)处,你骑自行车去上学,自行车只能沿着街道走,而且为了缩短时间只允许沿着东、北方向行驶。

       现在有n个交叉路口在施工(X1,Y1),(X2,Y2),(Xn,Yn),这些路口暂时不能通车。问你上学有多少种走法?

    输入描述 Input Description

      共二行。

      第一行包含两个整数a和b,并且满足1<=a,b<=16.

      第二行包含一个整数n,表示有n个路口在维修(1<=N<=40)。

      接下来的n行,每行两个整数X_i、Y_i,描述路口的位置。

    输出描述 Output Description

    输出一个整数表示从(1,1)到(a,b)的骑车路线总数。

       只有一行

    样例输入 Sample Input

    5 4

    3

    2 2

    2 3

    4 2

    样例输出 Sample Output

    5

    #include<iostream>
    using namespace std;
    int a,b,c,s;
    bool v[20][20];
    void dfs(int x,int y)
    {
        if(x==a&&y==b) 
        {
            s++;
            return ;
        }
        if(x<a&&!v[x+1][y]) dfs(x+1,y);//往北
        if(y<b&&!v[x][y+1]) dfs(x,y+1);//往东
    }
    int main()
    {
        cin>>a>>b>>c;
        for(int i=1;i<=c;i++)
        {
            int x,y;
            cin>>x>>y;
            v[x][y]=true;//true代表正在施工
        }
        dfs(1,1);
        cout<<s;
    }
  • 相关阅读:
    Python 的编码格式
    Python import其他层级的模块
    自己写ORM框架 DBUtils_DG Java(C#的写在链接里)
    C#对象深度克隆
    SpringMVC文件上传下载
    HttpRuntime.Cache .Net自带的缓存类
    Winform跨窗体操作控件(使用委托)
    Winform调用WebKitBrowser,基于chrome内核WebKit的浏览器控件
    ORM框架 EF code first 的封装 优化一
    Go Language 开发环境搭建
  • 原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/6160032.html
Copyright © 2011-2022 走看看