递推 4----7-4 sdut-C语言实验-马拦过河卒

简介: 递推 4----7-4 sdut-C语言实验-马拦过河卒

7-4 sdut-C语言实验-马拦过河卒


上一题


下一题


题目描述


7-4 sdut-C语言实验-马拦过河卒


分数 20


全屏浏览


作者 马新娟


单位 山东理工大学


棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。

棋盘用坐标表示,A点(0,0)、B点(n,m)(n,m为不超过15的整数),同样马的位置坐标是需要给出的。现在要

求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

输入格式:

一行四个数据,用空格分隔,分别表示B点的坐标和马的坐标。

输出格式:

一个数据,表示所有的路径条数。

输入样例:

6 6 3 3

输出样例:

6


代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int i,j,n,m,a,b;
   scanf("%d %d %d %d",&n,&m,&a,&b);
   int f[20][20];
   int g[20][20];
   for(i=0;i<=n;i++)
   {
       for(j=0;j<=m;j++)
       {
           f[i][j]=0;
           g[i][j]=0;
       }
 
   }
   g[a][b]=1;
   g[a+1][b+2]=1;
   g[a+1][b-2]=1;
   g[a+2][b+1]=1;
   g[a+2][b-1]=1;
   g[a-2][b+1]=1;
   g[a-2][b-1]=1;
   g[a-1][b+2]=1;
   g[a-1][b-2]=1;
   f[0][0]=1;
   for (i=1;i<=n;i++)
   {
        if(g[i][0]!=1)
               {
                   f[i][0]=1;
               }
               else{
                for( ;i<=n;i++)
                {
                    f[i][0]=0;
                }
 
               }
   }
   for(j=1;j<=m;j++)
   {
       if(g[0][j]!=1)
       {
           f[0][j]=1;
       }
       else{
        for( ;j<=m;j++)
        {
            f[0][j]=0;
        }
       }
   }
   for(i=1;i<=n;i++)
   {
       for(j=1;j<=m;j++)
       {
           if(g[i][j]==0)
           {
               f[i][j]=f[i-1][j]+f[i][j-1];
           }
       }
   }
   printf("%d\n",f[n][m]);
 
    return 0;
}
目录
相关文章
|
4月前
7-2 sdut-C语言实验-删数问题(贪心法二)
7-2 sdut-C语言实验-删数问题(贪心法二)
34 2
|
4月前
递推7------7-7 sdut-C语言实验-三国佚事——巴蜀之危分数
递推7------7-7 sdut-C语言实验-三国佚事——巴蜀之危分数
20 0
|
4月前
递推7-2 sdut-C语言实验-养兔子分数
递推7-2 sdut-C语言实验-养兔子分数
20 0
|
4月前
SDUT 链表9-------7-9 sdut-C语言实验-约瑟夫问题
SDUT 链表9-------7-9 sdut-C语言实验-约瑟夫问题
27 0
|
4月前
|
机器学习/深度学习
7-2 sdut-C语言实验-刘老师的要求之踩方格
7-2 sdut-C语言实验-刘老师的要求之踩方格
35 1
|
4月前
7-10 sdut-C语言实验-走迷宫
7-10 sdut-C语言实验-走迷宫
28 2
|
4月前
7-4 sdut-C语言实验-区间覆盖问题
7-4 sdut-C语言实验-区间覆盖问题
31 2
|
4月前
|
算法
7-2 sdut-C语言实验-数字三角形问题
7-2 sdut-C语言实验-数字三角形问题
23 1
|
4月前
7-9 sdut-C语言实验-商人小鑫
7-9 sdut-C语言实验-商人小鑫
21 1
|
4月前
7-10 sdut-C语言实验-商人的诀窍
7-10 sdut-C语言实验-商人的诀窍
21 1