P1002 [NOIP2002 普及组] 过河卒解答

Description

题目链接:P1001

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

棋盘用坐标表示,\(A\)点\((0,0)\)、\(B\)点\((n,m)\),同样马的位置坐标是需要给出的。

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

Code

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,p,q;//(n,m)终点  (p,q)马点
	long long a[30][30];//路径条数,之前这里用了int,总有两个测试数据不过
						//改成longlong就好了
    int map[30][30];//能不能走,马控制的点设为1,代表不能走

    cin>>n>>m>>p>>q;
    
    //马的控制区域,1代表此路不通
    map[p][q]=1;
    map[p-2][q-1]=1;
    map[p-2][q+1]=1;
    map[p+2][q+1]=1;
    map[p+2][q-1]=1;
    map[p-1][q-2]=1;
    map[p-1][q+2]=1;
    map[p+1][q+2]=1;
    map[p+1][q-2]=1;


    /* 嘤嘤嘤 这里就是错误代码了,异想天开的我,以为边线上的点一定可以到。。。
    for(int i=1;i<=n;i++)
    {
        a[i][0]=1;
    }
    for(int i=1;i<=m;i++)
    {
        a[0][i]=1;
    }*/
    
    //动态规划求到各点的路数
    for(int i=0;i<=n;i++)
    {
        for(int j=0;j<=m;j++)
        {
            if(map[i][j])
                continue;
            else //不受马控制的点
            {
                if(i==0&&j==0)
                    a[i][j]=1;
                else if(i==0&&j>0)
                {
                    a[i][j]=a[i][j-1];

                }
                else if(j==0&&i>0)
                {
                    a[i][j]=a[i-1][j];
                }
                else
                {
                        a[i][j]=a[i-1][j]+a[i][j-1];
                }
            }
        }
    }
    cout<<a[n][m]<<endl;
    return 0;
}

感谢您的阅读
本文链接:https://blog.bfh.ink/?p=335
本文为BFH-BLOG博主「黑果小屋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇