过河卒的题解

2025-05-22 09:10:33

1、#include<stdio.h> #include<stdlib.h> int a[30][30]; long long f[30][30]; void draw(int x,int y){ int i,j,k; if(x<0 || x>20 || y<0 || y>20) return; else a[x][y]=1; } int main(){ int i,j,k,m,n,x,y; scanf("%d%d%d%d",&m,&n,&x,&y); draw(x,y); draw(x+1,y+2); draw(x+2,y+1); draw(x+2,y-1); draw(x+1,y-2); draw(x-1,y-2); draw(x-2,y-1); draw(x-2,y+1); draw(x-1,y+2); for(i=1;i<=n;i++) if(a[0][i]!=1)f[0][i]=1; else break; for(i=1;i<=m;i++) if(a[i][0]!=1)f[i][0]=1; else break; for(i=1;i<=m;i++) for(j=1;j<=n;j++) if(!a[i][j]) f[i][j]=f[i-1][j]+f[i][j-1]; printf("%I64d\n",f[m][n]); return 0; }

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:67
  • 阅读量:66
  • 阅读量:74
  • 阅读量:52
  • 阅读量:75
  • 猜你喜欢