P1176 路径计数2

题目描述

一个N×N的网格,你一开始在(1, 1),即左上角。每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N, N),即右下角有多少种方法。

但是这个问题太简单了,所以现在有M个格子上有障碍,即不能走到这M个格子上。

输入输出格式

输入格式:

输入文件第1行包含两个非负整数N,M,表示了网格的边长与障碍数。

接下来M行,每行两个不大于N的正整数x, y。表示坐标(x, y)上有障碍不能通过,且有1≤x, y≤n,且x, y至少有一个大于1,并请注意障碍坐标有可能相同。

输出格式:

输出文件仅包含一个非负整数,为答案mod 100003后的结果。

输入输出样例

输入样例#1: 复制

3 1
3 1

输出样例#1: 复制

5

说明

对于20%的数据,有N≤3;

对于40%的数据,有N≤100;

对于40%的数据,有M=0;

对于100%的数据,有N≤1000,M≤100000。

思路:简单的棋盘dp。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define mod 100003
using namespace std;
int n,m;
int map[1010][1010];
int ans[1010][1010];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);map[x][y]=1;}ans[1][1]=1;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(!map[i][j]){if(i==1&&j==1)    continue;if(i>1&&j>1&&!map[i-1][j]&&!map[i][j-1])    ans[i][j]=(ans[i][j]+ans[i-1][j]+ans[i][j-1])%mod;else if((i<=1||map[i-1][j])&&j>1&&!map[i][j-1])    ans[i][j]=(ans[i][j]+ans[i][j-1])%mod;else if((j<=1||map[i][j-1])&&i>1&&!map[i-1][j])    ans[i][j]=(ans[i][j]+ans[i-1][j])%mod;}cout<<ans[n][n];
}

转载于:https://www.cnblogs.com/cangT-Tlan/p/8029925.html

洛谷 P1176 路径计数2相关推荐

  1. 洛谷——P1176 路径计数2

    P1176 路径计数2 题目描述 一个N \times NN×N的网格,你一开始在(1,1)(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N)(N,N),即右下角有 ...

  2. 洛谷 最大食物链计数 python题解

    题目:P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给你一个食物网,你要求出这个食物网中最大食物链的数量. (这里的"最大食物链&q ...

  3. Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp

    cf传送门 P3643 [APIO2016]划艇 文章目录 题意: 思路: 题意: aia_iai​在[li,ri][l_i,r_i][li​,ri​]等概率随机选一个数,求aaa数组不增的概率. 思 ...

  4. 路径计数2(洛谷P1176题题解,Java语言描述)

    题目要求 题目链接 分析 我的思路很简单,因为这个题所有的点都是(1,1)(1,1)(1,1)开始的,所以直接把数组多开一个边,开一个[n+1][n+1]的数组就行了. 初始化f[1][1]=1f[1 ...

  5. 洛谷 1608 路径统计

    [题解] 最短路计数的模板题吧..要把重边判掉.. 1 #include<cstdio> 2 #include<algorithm> 3 #define N 2010 4 #d ...

  6. 洛谷4208 最小生成树计数

    题意 最小生成树计数 思路 基尔霍夫kirchhoff矩阵N-1阶主子式的行列式即为最小生成树的数目,需要注意这里必须满足每一条边都相等. 基尔霍夫Kirchhoff矩阵 K =度数矩阵 D - 邻接 ...

  7. 洛谷P2518 [HAOI2010]计数

    题目描述 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1020,等等. ...

  8. 【暑期每日一题】洛谷(一)

    [暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药 [暑期每日一题]洛谷 P1048 [NOIP2005 普及组] 采药_辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为 ...

  9. 洛谷or牛客数据结构+算法

    栈思想:先进后出 tips:栈里能放下标就放下标 (牛客)小c的计事本(直接用stack可以简化代码,且不会被自己绕晕,当时没意识到) (牛客)吐泡泡(没意识到用栈),(牛客)好串 1.后缀表达式(栈 ...

最新文章

  1. android binder
  2. hashmap转红黑树的阈值为8_面试必问的HashMap,一次彻底帮你搞定HashMap源码
  3. 机器学习中的数据不平衡问题----通过随机采样比例大的类别使得训练集中大类的个数与小类相当,或者模型中加入惩罚项...
  4. 信息管理(Information Management)
  5. 理解Linux系统中的load average
  6. Ubuntu 配置MySQL远程连接
  7. java中用I/O流实现文件上传
  8. python下载大文件mp4_Python 下载 m3u8 格式视频
  9. 阿里的程序员们如何解决复杂数据的查询优化问题?| 技术头条
  10. Elasticsearch 最佳实践!
  11. 高级I/O复用技术:Epoll的使用及一个完整的C实例
  12. Archlinux桌面配置指南
  13. su室内插件_sketchup模型库+SU组件+插件+风格库集+模型 建筑 室内 园林景观
  14. 工业机器人自动化仿真竞赛 Agile Robotics for Industrial Automation Competition (ARIAC 2021)
  15. 计算机ppt咋弄,ppt打不开怎么办?教您详细解决方法
  16. Linux pthread详解
  17. C语言小游戏-寻宝(幸运之星)
  18. TI CC2530 学习笔记-13-NewBit-CC2530-ADC-内部温度传感器
  19. uniapp 获取到当前位置信息显示在地图上
  20. 小米手机v3.exo 合并_Android 3.0预览版SDK已发布,eXo启动了Elastic Beanstalk的IDE

热门文章

  1. 安装linux系统结果,Linux 系统安装[Redhat]
  2. linux执行数据库的命令,实验-shell执行数据库命令.TXT
  3. webstorm php文件高亮,webStorm支持.wxml文件高亮显示
  4. linux u8 头文件,2019-12-11 转载TCP/IP编程常用C语言头文件
  5. 用matlab分析时间响应教程,基于Matlab的多自由度耦合滑移模型的动力响应可靠度分析...
  6. php调用execute,php运行生命周期--脚本执行阶段 php_execute
  7. php编译html,将PHP模板文件编译为静态HTML页面的Ant任务
  8. python入门与提高实践,Python基础06:功能增强与实践,基础知识,学习,函数,加强,及,练习...
  9. fastjson 添加key value_Redis中设置了过期时间的Key,那么你还要知道些什么?
  10. linux rcs文件中的ip,linux学习笔记之diff和patch命令