洛谷 P1958 上学路线

题目描述

你所在城市的街道好像一个棋盘,有 a 条南北方向的街道和 b 条东西方向的街道。南北方向的 a 条街道从西到东依次编号为 1 到 a,而东西方向的 b 条街道从南到北依次编号为 1 到 b,南北方向的街道 i 和东西方向的街道 j 的交点记为 (i,j)。

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

现在有 N 个交叉路口在施工 (X1​,Y1​)、(X2​,Y2​)……,(Xn​,Yn​),这些路口是不能通车的。

问你上学一共有多少走法?

输入格式

第一行包含两个整数 a 和 b,并且满足 1≤a,b≤16。

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

接下来 N 行,每行两个整数Xi​,Yi​,描述路口的位置。

输出格式

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

输入输出样例

输入 #1

5 4
3
2  2
2  3
4  2

输出 #1

5

说明/提示

【样例解释】

思路 

用dfs(),模拟上学的路线,若是施工地点则return. 

AC代码 

#include<bits/stdc++.h>using namespace std;int a,b,t,x,y,tot=0;
int s[20][20];void dfs(int xx,int yy)
{if(xx==a && yy==b){tot++;return;}if(s[xx][yy+1]==0 && yy+1<=b) dfs(xx,yy+1);if(s[xx+1][yy]==0 && xx+1<=a) dfs(xx+1,yy);
}
int main(){//freopen("x.in","r",stdin);//freopen("x.out","w",stdout);cin>>a>>b;cin>>t;while(t--){cin>>x>>y;s[x][y]=1;}dfs(1,1);cout<<tot<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542479.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器硬件命令

一、查看机器核数 有以下几种方法 1、lscpu命令 lscpu命令可以显示关于CPU的信息&#xff0c;包括核数、线程数等。在终端中输入以下命令即可查看CPU核数&#xff1a;该命令会输出CPU每个物理插槽的核数。 lscpu | grep "Core(s) per socket" | awk {print $NF} …

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:FormLink)

提供静态卡片交互组件&#xff0c;用于静态卡片内部和提供方应用间的交互&#xff0c;当前支持router、message和call三种类型的事件。 说明&#xff1a; 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 该组件仅可…

内网渗透之路:常用命令助力信息深度探索

1、查询网络配置信息 ipconfig /all 2、查询操作系统及软件信息 &#xff08;1&#xff09;查询操作系统和版本信息 英文操作系统 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 中文操作系统 systeminfo | findstr /B /C:"OS 名称&q…

pytorch之诗词生成6--eval

先上代码&#xff1a; import tensorflow as tf from dataset import tokenizer import settings import utils# 加载训练好的模型 model tf.keras.models.load_model(r"E:\best_model.h5") # 随机生成一首诗 print(utils.generate_random_poetry(tokenizer, model)…

【Numpy】练习题100道(51-75题)

#学习笔记# Git-hub链接 目录 1.题目列表 2.题解 1.题目列表 51. 创建一个表示位置&#xff08;x,y&#xff09;和颜色&#xff08;r,g,b&#xff09;的结构化数组&#xff08;★★☆&#xff09; 52. 考虑一个形状为&#xff08;100,2&#xff09;的随机向量&#xff0c;…

【测试开发学习历程】Docker入门

前言&#xff1a; Linux命令到上一篇博文就可以告一个段落了哦 ~ ~ 今天初步学习在测试中很重要的东西&#xff1a;Docker 目录 1 Docker概述 1.1 Docker产生的背景&#xff1f; 1.2 Docker的理念&#xff1f; 1.3 Docker的优势 1.3.1 传统的虚拟机 1.3.2 容器化虚拟技…

FPGA静态时序分析与约束(四)、时序约束

系列文章目录 FPGA静态时序分析与约束&#xff08;一&#xff09;、理解亚稳态 FPGA静态时序分析与约束&#xff08;二&#xff09;、时序分析 FPGA静态时序分析与约束&#xff08;三&#xff09;、读懂vivado时序报告 文章目录 系列文章目录前言一、什么是时序约束&#xff1…

星闪Nearlink与蓝牙的不同

背景 2022 年 11 月 4 日&#xff0c;华为成立近两年的星闪联盟发布了自己的通讯标准——星闪无线短距离通信 1.0&#xff0c;引领着无线通讯领域的新潮流。该标准包括基础接入和低功耗接入两种模式&#xff0c;为设备提供了灵活多样的连接方式&#xff0c;灵活的信道设计让星…

找准方向选CRM客户管理系统!2023年排行榜推荐

本文将为大家带来2023有哪些好用CRM客户管理系统&#xff1f;CRM系统排行榜基于品牌知名度、功能、产品实力、系统稳定性、用户体量等多重因素考量。其中Zoho CRM、红圈CRM等产品市场表现优异入选此次榜单。 1.Zoho CRM 公司成立时间&#xff1a;1996年 Zoho&#xff08;卓豪…

JDBC连接数据库小白级教程

虽然MyBatis等ORM&#xff08;Object-Relational Mapping&#xff09;框架在Java开发中变得非常流行&#xff0c;并且简化了数据库操作的复杂性&#xff0c;但学习JDBC仍然具有一定的重要性&#xff1a; 基础理解&#xff1a;学习JDBC可以帮助你深入理解数据库连接和操作的底层…

C语言练习题一

一、输入一行字符&#xff0c;分别统计出其中英文字母、空格、数字和其他字符的个数。 #include<stdio.h> int main () {char c;int letter0,number0,space0,other0;printf("请输入一行字符:\n");while((cgetchar())!\n){if((c>a&&c<z)||(c>…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Navigator)

路由容器组件&#xff0c;提供路由跳转能力。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 接口 Navigator(value?: {target: string, type?: NavigationType}) …