马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:
输入马的坐标和坐标大小
输出兵有多少路可走
<font face="微软雅黑"><font face="微软雅黑">#include<stdio.h>
</font>int main()
{
long long a[101][101] = {0};
int b[101][101] = {0};//标记马的阵地
int n,m,x,y,i,j;
int dx[9] = {0,2,1,-1,-2,-2,-1,1,2};
int dy[9] = {0,1,2,2,1,-1,-2,-2,-1};
printf("请输入马的坐标与坐标大小:");
scanf("%d %d %d %d",&n,&m,&x,&y);
b[x][y] = 1;a[0][0] = 1;
for(i = 1;i<=8;i++)
if((x+dx[i]>=0)&&(x+dx[i]<=n)&&(y+dy[i]>=0)&&(y+dy[i]<=m))
b[x+dx[i]][y+dy[i]] = 1;//把马控制的地方标记为1
for(j = 1;j<=m;j++)
if(b[0][j]==0) a[0][j] = a[0][j-1];
for(i = 1;i<=n;i++)
if(b[i][0]==0) a[i][0] = a[i-1][0];
for(i = 1;i<=n;i++)
for(j = 1;j<=m;j++)
if(b[i][j]==0) a[i][j] = a[i-1][j]+a[i][j-1];
printf("%I64d\n",a[n][m]);//注意打印格式
return 0;
}</font>
|