题目描述

一个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[][];
int ans[][];
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++){
int x,y;
scanf("%d%d",&x,&y);
map[x][y]=;
}
ans[][]=;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(!map[i][j]){
if(i==&&j==) continue;
if(i>&&j>&&!map[i-][j]&&!map[i][j-]) ans[i][j]=(ans[i][j]+ans[i-][j]+ans[i][j-])%mod;
else if((i<=||map[i-][j])&&j>&&!map[i][j-]) ans[i][j]=(ans[i][j]+ans[i][j-])%mod;
else if((j<=||map[i][j-])&&i>&&!map[i-][j]) ans[i][j]=(ans[i][j]+ans[i-][j])%mod;
}
cout<<ans[n][n];
}

洛谷 P1176 路径计数2的更多相关文章

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

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

  2. 洛谷P1608 路径计数

    题目简介 题目描述 给你一个N点M边的有向图,求第一个点到第n个点的最短路和最短路条数 题目分析 很明显直接Dijkstra求最短路,加一个最短路计数 如下: if(dis[y]>dis[x]+ ...

  3. 洛谷P1144-最短路计数-最短路变形

    洛谷P1144-最短路计数 题目描述: 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点\(1\)开始,到其他每个点的最短路有几条. 思路: \(Dijkstra ...

  4. 洛谷P1608路径统计

    题目 这个提示一个简单的最短路计数,除了用数组存上最短路的个数的做法以外,还有可以在得出最短路之后,搜索加剪枝的方法来通过该题. 可以反向搜索用A*的方法来通过,但是这个题的去重十分的恶心,需要一些玄 ...

  5. 洛谷——P3914 染色计数

    P3914 染色计数 题目描述 有一颗NN个节点的树,节点用1,2,\cdots,N1,2,⋯,N编号.你要给它染色,使得相邻节点的颜色不同.有MM种颜色,用1,2,\cdots,M1,2,⋯,M编号 ...

  6. 洛谷——P1608 路径统计

    P1608 路径统计 题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方, ...

  7. 洛谷 P1608 路径统计

    P1608 路径统计 题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方, ...

  8. 洛谷 P3914 染色计数

    P3914 染色计数 题目描述 有一颗NN个节点的树,节点用1,2,\cdots,N1,2,⋯,N编号.你要给它染色,使得相邻节点的颜色不同.有MM种颜色,用1,2,\cdots,M1,2,⋯,M编号 ...

  9. 洛谷 P3130 [USACO15DEC]计数haybalesCounting Haybales

    P3130 [USACO15DEC]计数haybalesCounting Haybales 题目描述 Farmer John is trying to hire contractors to help ...

随机推荐

  1. 虚拟机CentOS6.8下安装mycat

    安装mycat前,首先安装jdk1.7及以上版本 安装可参照 https://www.cnblogs.com/llhhll/p/9260913.html 下载mycat 1.6版本 wget   ht ...

  2. RabbitMq笔记()

    RabbitMq 就是类似于一个数据库样式的操作工具. rabbit解释 有用户名登录密码之类的,还可以创建用户名,创建作用文件之类的. 2. 3.

  3. HDU 1285 确定比赛名次【拓扑排序】

    题意:中文的题目-----这道题让我终于明白了那个break的作用---因为题目中有这一句“符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前”@_@ #include<iostrea ...

  4. MySQL的concat以及group_concat的用法

    一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为nu ...

  5. Node_进阶_7

    Node进阶第七天 一.复习 一.索引   数据库中,根据一个字段的值,来寻找一个文档,是很常见的操作.比如根据学号来找一个学生.这个学号是唯一的.只要有学号,就能唯一确认一个学生的文档.学号这个属性 ...

  6. PHP检验代码执行效率—时间统计方法

    <?php class runtime { ; ; function get_microtime() { list($usec,$sec) =explode('',microtime()); r ...

  7. 解决new Date的值为Invalid Date、NaN-NaN的问题

    错误代码: let timespan = 1515239514230; let dateTime = new Date(timespan); console.log(dateTime) // 返回 I ...

  8. YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误

    YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误 ...

  9. 微信小程序 分享海报

    const app = getApp(); const template = require('../../template/templates.js'); Page({ /** * 页面的初始数据 ...

  10. C语言中数据类型的字节数

    类型 16位 32 位 64位 char 1 1 1 short int 2 2 2 int 2 4 4 unsigned int 2 4 4 float 4 4 4 double 8 8 8 lon ...