[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;
void luxian2()
{
int m,n,q,x[100],y[100],a[100][100];// a[1000],a数组声明不对,应该是二维的
cin>>m>>n>>q;
for(int i=1;i<=q;i++)
{
cin>>x[i]>>y[i];
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
a[i][j]=-1;
}
}
for(int i=1;i<=m;i++)//这里初始化不对,边上有可能被障碍封住
{
a[1][i]=1;
}
for(int i=1;i<=n;i++)
{
a[i][1]=1;
}
a[x[1]][y[1]]=0;//只有这一个点需要设定为0吗 ,障碍物可有q个
for(int i=2;i<=m;i++)
{
for(int j=2;j<=n;j++)
{
if(a[i][j]==-1)
{
a[i][j]=a[i-1][j]+a[i][j-1];//这里没问题
}
else
{
a[i][j]=0
}
}
}
cout<<a[m][n];
}
int main ()
{
luxian2();
return 0;
} |