路径计数2
  gBkHYLY8jvYd 2023年12月09日 11 0

路径计数2

题目描述

一个 路径计数2_ci 的网格,你一开始在 路径计数2_ci_02,即左上角。每次只能移动到下方相邻的格子或者右方相邻的格子,问到达 路径计数2_ci_03,即右下角有多少种方法。

但是这个问题太简单了,所以现在有 路径计数2_i++_04 个格子上有障碍,即不能走到这 路径计数2_i++_04 个格子上。

输入格式

输入文件第 路径计数2_i++_06 行包含两个非负整数 路径计数2_数据_07,表示了网格的边长与障碍数。

接下来 路径计数2_i++_04 行,每行两个不大于 路径计数2_ci_09 的正整数 路径计数2_i++_10。表示坐标 路径计数2_数据_11 上有障碍不能通过,且有 路径计数2_数据_12,且 路径计数2_i++_10 至少有一个大于 路径计数2_i++_06,并请注意障碍坐标有可能相同。

输出格式

一个非负整数,为答案 路径计数2_数据_15 后的结果。

样例 #1

样例输入 #1

3 1
3 1

样例输出 #1

5

提示

对于 路径计数2_i++_16 的数据,有路径计数2_i++_17

对于 路径计数2_i++_18 的数据,有路径计数2_数据_19

对于 路径计数2_i++_18 的数据,有路径计数2_数据_21

对于 路径计数2_ci_22 的数据,有路径计数2_数据_23

#include<iostream>
#include<cstdio>
using namespace std;
int f[1001][1001];
int n,m;
int main() {
	cin>>n>>m;
	for(int i=1; i<=m; i++) {
		int a,b;
		cin>>a>>b;
		f[a][b]=-1;
	}
	f[1][1]=1;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			if(f[i][j]!=-1) {
				f[i][j]=max(max(f[i][j-1],f[i][j]),max(f[i-1][j],f[i-1][j]+f[i][j-1]));
			}
			f[i][j]%=100003;
		}
	}
	cout<<f[n][n];
	return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月09日 0

暂无评论

推荐阅读
  gBkHYLY8jvYd   2023年12月09日   12   0   0 cii++数据
  gBkHYLY8jvYd   2023年12月10日   16   0   0 #include数组i++
  gBkHYLY8jvYd   2023年12月08日   14   0   0 #includecii++
  gBkHYLY8jvYd   2023年12月11日   9   0   0 cic++最小值
gBkHYLY8jvYd
作者其他文章 更多

2023-12-12

2023-12-11

2023-12-10

2023-12-10

2023-12-09

2023-12-08

2023-12-06

2023-12-06

2023-12-06