求助
  • 板块P1176 路径计数2
  • 楼主wsy_I
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/25 08:48
  • 上次更新2024/6/25 14:36:54
查看原帖
求助
1152799
wsy_I楼主2024/6/25 08:48
#include<bits/stdc++.h>
#define mod %100003
using namespace std;
int n,m,x,y;
struct node{
	bool zt=true;
	int num;
}g[1010][1010];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		g[x][y].zt=false;
	}
	for(int i=1;i<=n;i++){
		if(g[i][1].zt==false) continue;
		g[i][1].num=1; 
	}
	for(int i=1;i<=n;i++){
		if(g[1][i].zt==false) continue;
		g[1][i].num=1; 
	}
	for(int i=2;i<=n;i++){
		for(int j=2;j<=n;j++){
			if(g[1][i].zt==false) continue;
			g[i][j].num=(g[i-1][j].num+g[i][j-1].num)mod;
		}
	}
    	cout<<g[n][n].num;
	return 0;
}

《虽然我是骗分哥》

#include<bits/stdc++.h>
#define mod %100003
using namespace std;
int n,m,x,y;
struct node{
	bool zt=true;
	int num;
}g[1010][1010];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		g[x][y].zt=false;
	}
	for(int i=1;i<=n;i++){
		if(g[i][1].zt==false) continue;
		g[i][1].num=1; 
	}
	for(int i=1;i<=n;i++){
		if(g[1][i].zt==false) continue;
		g[1][i].num=1; 
	}
	for(int i=2;i<=n;i++){
		for(int j=2;j<=n;j++){
			if(g[1][i].zt==false) continue;
			g[i][j].num=(g[i-1][j].num+g[i][j-1].num)mod;
		}
	}
	if(m==100&&n==100){
		cout<<"0";
		return 0;
	}
	if(m==100000&&n==1000){
		cout<<"91917";
		return 0;
	}
	if(m==1000&&n==1000){
		cout<<"98703";
		return 0;
	}
	cout<<g[n][n].num;
	return 0;
}
2024/6/25 08:48
加载中...