讨论 / 直接递推
swm 2015-07-11 20:34:10
点我顶贴 收藏 删除
有效耗时9ms

测试点1 Accepted / 0ms / 12256kB

测试点2 Accepted / 0ms / 12256kB

测试点3 Accepted / 0ms / 12256kB

测试点4 Accepted / 1ms / 12256kB

测试点5 Accepted / 0ms / 12256kB

测试点6 Accepted / 1ms / 12256kB

测试点7 Accepted / 5ms / 12256kB

测试点8 Accepted / 1ms / 12256kB

测试点9 Accepted / 0ms / 12256kB

测试点10 Accepted / 1ms / 12256kB

#include<cstdio>

#include<algorithm>

using namespace std;

int n,m,a[21][21];

int b[21][21];

int main(){

scanf("%d",&n);

for (int i=1;i<=n;i++)

for (int j=1;j<=n;j++) scanf("%d",&b[i][j]),a[i][j]=0;

if (b[1][1]==0) a[1][1]=1;

for (int i=1;i<=n;i++)

for (int j=1;j<=n;j++){

if ((i==1)&&(j==1)) continue;

if (!b[i-1][j]) a[i][j]+=a[i-1][j];

if (!b[i][j-1]) a[i][j]+=a[i][j-1];

}

printf("%d\n",a[n][n]);

}

查看更多回复
提交回复