60pts求助!
查看原帖
60pts求助!
704634
poor_OIer楼主2024/7/24 21:41

WA #2、#4

#include<bits/stdc++.h>
using namespace std;
const int mod=100003;
int n,m,dp[1005][1005];
bool flag[1005][1005];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		flag[x][y]=1;
	}
	for(int i=1;i<=n;i++)
	{
		if(!flag[1][i])
			dp[1][i]=1;
		if(!flag[i][1])
			dp[i][1]=1;
	}
	for(int i=2;i<=n;i++)
		for(int j=2;j<=n;j++)
		{
			if(flag[i][j])
				dp[i][j]=0;
			else if(!flag[i-1][j]&&!flag[i][j-1])
					dp[i][j]=(dp[i-1][j]+dp[i][j-1])%mod;
				else if(!flag[i-1][j])
						dp[i][j]=dp[i-1][j]%mod;
					else if(!flag[i][j-1])
							dp[i][j]=dp[i][j-1]%mod;
						else 
							dp[i][j]=0;
		}
	cout<<dp[n][n]%mod;
	return 0;
}
2024/7/24 21:41
加载中...