• 跳马问题


    题目描述 Description

    题目

    输入描述 Input Description

    第一行两个正整数M,N(0<M,N≤300)分别表示行和列
    第二行两个正整数,表示起点的行列坐标。
    第三行两个正整数,表示终点的行列坐标

    输出描述 Output Description

    一个正整数,表示方案总数对123456求余

    样例输入 Sample Input

    3 3

    1 1

    2 3

    样例输出 Sample Output

    1

    代碼實現:

     1 #include<cstdio>
     2 const int mod=123456;
     3 int m,n,qh,ql,zh,zl;
     4 int map[300][300];
     5 int main(){
     6     scanf("%d%d%d%d%d%d",&n,&m,&ql,&qh,&zl,&zh);
     7     map[qh][ql]=1;
     8     for(int j=1;j<=m;j++)
     9     for(int i=1;i<=n;i++){
    10         map[i-2][j+1]+=map[i][j];
    11         map[i-1][j+2]+=map[i][j];
    12         map[i+1][j+2]+=map[i][j];
    13         map[i+2][j+1]+=map[i][j];
    14     }
    15     printf("%d
    ",map[zh][zl]%mod);
    16     return 0;
    17 }

    很經典的棋盤DP題~

  • 相关阅读:
    冷水花
    石竹
    红花酢浆草
    紫鸭跖草
    吊竹梅
    花叶络石
    牡丹
    CF1190D Tokitsukaze and Strange Rectangle
    CF1178D Prime Graph
    CF958E2 Guard Duty (medium)
  • 原文地址:https://www.cnblogs.com/J-william/p/6074548.html
Copyright © 2020-2023  润新知