26.篮球练习

news2025/1/19 20:16:49

题目

Description

小徐酷爱打篮球,在小学期的前两周半都在练习篮球。

今天,小徐想要练习如何突破。练习场地可由如下所示的网格图表示,图中的位置可用坐标表示。

其中A点(0,0)为小徐的起始位置,B点(n,m)为小徐想要到达的位置。

一起训练的还有场上的防守队员小彩,其位于C点。已知小徐行动时只能向右或向下前进,且当小徐相对于小彩的位置为Pi(i = 1,2…8)时,小徐会被抢断。

注意,Pi坐标是会随C位置的变化而变化的,但相对位置是固定的

现在要求你计算小徐从A点到达B点且不被抢断的路径条数。假设小彩的位置是固定不动的,并不是小徐走一步小彩走一步。

Input

一行四个正整数,分别表示B点坐标和C点坐标。

Output

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

Hint

 对于全部的数据,1≤n,m≤20,0≤ C点的横纵坐标 ≤20。


C++完整代码

#include <iostream>
using namespace std;

int main() {
    long long Bx, By, Cx, Cy;
    cin >> Bx >> By >> Cx >> Cy;
    long long dp[21][21] = { 0 };

    if ((Cx == 0 && Cy == 0) || (abs(0 - Cx) == 2 && abs(0 - Cy) == 1) || (abs(0 - Cx) == 1 && abs(0 - Cy) == 2))
        dp[0][0] = 0;
    else
        dp[0][0] = 1;

    for (int i = 1; i <= By; i++) {
        if (0 == Cx && i == Cy) {
            dp[0][i] = 0;
        }
        else if ((abs(0 - Cx) == 2 && abs(i - Cy) == 1) || (abs(0 - Cx) == 1 && abs(i - Cy) == 2)) {
            dp[0][i] = 0;
        }
        else {
            dp[0][i] = dp[0][i - 1];
        }
    }

    for (int i = 1; i <= Bx; i++) {
        if (i == Cx && 0 == Cy) {
            dp[i][0] = 0;
        }
        else if ((abs(i - Cx) == 2 && abs(0 - Cy) == 1) || (abs(i - Cx) == 1 && abs(0 - Cy) == 2)) {
            dp[i][0] = 0;
        }
        else {
            dp[i][0] = dp[i - 1][0];
        }
    }

    for (int i = 1; i <= Bx; i++) {
        for (int j = 1; j <= By; j++) {
            if (i == Cx && j == Cy) {
                continue;
            }
            else if ((abs(i - Cx) == 2 && abs(j - Cy) == 1) || (abs(i - Cx) == 1 && abs(j - Cy) == 2)) {
                continue;
            }
            else {
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
            }
        }
    }

    cout << dp[Bx][By] << endl;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

漏洞分析|Adobe ColdFusion WDDX 序列化漏洞利用

0x01 概述 在上一篇有关 Adobe ColdFusion 序列化漏洞&#xff08;CVE-2023-29300&#xff09;的文章中&#xff0c;我们对已公开的 JNDI 利用链&#xff08;CVE-2023-38204&#xff09;进行了复现。JNDI 利用链受目标出网的限制&#xff0c;在不出网的情况下无法很好地利用。…

二叉树的递归遍历和非递归遍历

目录 一.二叉树的递归遍历 1.先序遍历二叉树 2.中序遍历二叉树 3.后序遍历二叉树 二.非递归遍历(栈) 1.先序遍历 2.中序遍历 3.后序遍历 一.二叉树的递归遍历 定义二叉树 #其中TElemType可以是int或者是char,根据要求自定 typedef struct BiNode{TElemType data;stru…

核心实验11合集_hybrid接口特殊用法_ENSP

项目场景一&#xff1a; 核心实验11合集_hybrid接口特殊用法_ENSP 前期用户少&#xff0c;只有一个vlan段&#xff0c;如今需要划分不同vlan&#xff0c;使用hybrid接口实现。&#xff08;不可更改ip地址&#xff09; 实搭拓扑图&#xff1a; 具体操作&#xff1a; sw1: [sw1…

​Bigemap软件在农业行业中的应用

​Bigemap软件在农业上面的一些应用 在农业工作者平时的工作应用中 Bigemap可以帮助农业用户更好地管理土地、作物和水资源 &#xff1b;提高农业生产效率和质量 &#xff1b;以及 野外调查定位&#xff0c;地层分析论证&#xff0c;水文地质调查等&#xff0c; 大部分的农业…

TypeScript断言

什么是断言&#xff1f; 一个编译时语法&#xff0c;用于告诉编译器用户比编译器更加确定变量的类型&#xff0c;进而解除编译错误&#xff0c;类型断言有点类似于其他语言的类型转换&#xff0c;但它没有运行时的影响&#xff0c;只是在编译阶段起作用。所以&#xff0c;即使通…

typescript删除array中的空值

使用.flat() 可以看到&#xff0c;调用之后空值被清清除了&#xff0c;如果本身就是1维数组就无所谓&#xff0c;但如果本身是多维数组&#xff0c;又不想数组维度被改变的话就需要传入0&#xff0c;才不会导致数据维度改变

如何启动股票量化系统QTYX-Python3.7/3.9环境安装Anaconda+Pycharm及TaLib

前言 我们的股票量化分析系统QTYX提供两种形式使用&#xff1a; EXE安装文件。好处是不需要安装Python环境&#xff0c;双击安装EXE文件就能使用QTYX的功能。Python源码。好处是可以学习和调试源码&#xff0c;并且在此基础上二次开发&#xff0c;把自己的想法加进去&#xff0…

Bigemap软件在农业上面的一些应用

在农业工作者平时的工作应用中 Bigemap可以帮助农业用户更好地管理土地、作物和水资源 &#xff1b;提高农业生产效率和质量 &#xff1b;以及 野外调查定位&#xff0c;地层分析论证&#xff0c;水文地质调查等&#xff0c; 大部分的农业用户在Bigemap软件上需要使用到以下 的…

ViTPose+:迈向通用身体姿态估计的视觉Transformer基础模型 | 京东探索研究院

身体姿态估计旨在识别出给定图像中人或者动物实例身体的关键点&#xff0c;除了典型的身体骨骼关键点&#xff0c;还可以包括手、脚、脸部等关键点&#xff0c;是计算机视觉领域的基本任务之一。目前&#xff0c;视觉transformer已经在识别、检测、分割等多个视觉任务上展现出来…

IOC和注解

想要学好spring&#xff0c;必须时时刻刻想着&#xff0c;spring的本质就是一个容器&#xff0c;放java对象的容器&#xff0c;java对象在spring容器中也叫做bean对象。 文章目录 一、spring介绍1、什么是框架2、框架的作用![在这里插入图片描述](https://img-blog.csdnimg.cn…

0014Java程序设计-springboot旅行景点推荐系统

摘要目 录概述1.1研究背景1.2 开发意义1.3 研究现状1.4 研究内容1.5 论文结构 系统实现开发环境 摘要 互联网的广泛运用给生活带来很多便捷。 因而&#xff0c;将旅游地介绍与现如今互联网紧密结合&#xff0c;利用Java技术搭建旅游地强烈推荐系统&#xff0c;完成旅游地强烈推…

港陆证券:电子竞技传来重磅消息!概念股上半年业绩普增

国际奥委会宣布建立电子竞技委员会。 据央视新闻报道&#xff0c;北京时间9月6日&#xff0c;国际奥委会在官网发布音讯&#xff0c;国际奥委会有史以来将初次展望电子竞技的未来&#xff0c;建立一个全新的电子竞技委员会。 国际奥委会主席巴赫表明&#xff0c;虚拟体育有着…

Geopy 笔记:计算距离

1 介绍 Geopy使用测地线距离或大圆距离来计算两点之间的地理距离&#xff0c;其中默认使用测地线距离&#xff08;geopy.distance.distance&#xff09; 大圆距离&#xff08;great_circle&#xff09;使用地球的球形模型&#xff0c;&#xff0c;半径为6371.0087714150598 公…

AJAX学习笔记9 搜索联想自动补全

AJAX学习笔记8 跨域问题及解决方案_biubiubiu0706的博客-CSDN博客 其实就一个功能 搜索联想 自动补全 键盘按下事件keydown 键盘弹起事件keyup 做模糊查询 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><t…

海外ASO优化之如何优化游戏应用

如果我们发布了一款手机游戏或者管理了一款手机游戏&#xff0c;那么需要确保我们的手机游戏对合适的人可见&#xff0c;目的是增加应用的下载量。 1、优化游戏元数据的关键词。 Apple和Google在应用商店中为我们提供有限的空间&#xff0c;来描述手机游戏及其优势。我们需要使…

事件派发触发以及自定义事件派发dispatchEvent-——————派发键盘事件

事件派发触发以及自定义事件派发dispatchEvent 首先DOM的方法 addEventListener() 和 removeEventListener()是用来分配和删除事件的函数。 这两个方法都需要三个参数&#xff0c;分别为&#xff1a;事件名称&#xff08;String&#xff09;、要触发的事件处理函数(Function)、…

Run in PaddleX!四步搞定10+任务场景36个精选产业模型开发与部署!

随着ChatGPT引领的AI破圈&#xff0c;各行各业掀起了AI落地的潮流&#xff0c;从智能客服、智能写作、智能监控&#xff0c;到智能医疗、智能家居、智能金融、智能农业&#xff0c;谁能快速将AI与传统业务相结合&#xff0c;谁就将成为企业数字化和智能化变革的优胜者。然而&am…

10、Kubernetes核心技术 - Label标签

目录 一、概述 二、Label Selector&#xff08;标签选择器&#xff09; 1)、基于等值&#xff08;Equality-based&#xff09; 2)、基于集合&#xff08;Set-based&#xff09; 三、Label相关操作 (1)、yaml文件定义标签 (2)、查看标签 (3)、筛选标签 (4)、添加标签 …

Unity VideoPlayer 指定位置开始播放

如果 source是 videoclip&#xff08;以下两种方式都可以&#xff09;&#xff1a; _videoPlayer.Play();Debug.Log("time: " _videoPlayer.clip.length);_videoPlayer.time 10; [SerializeField] VideoPlayer videoPlayer;public void SetClipWithTime(VideoClip…

iTOP-i.MX6ULL开发板修改 samba 配置文件

sudo vi /etc/samba/smb.conf 添加如下内容&#xff1a; 这些信息都是 samba 的说明和设置&#xff0c;把这些复制上&#xff0c;格式要设置对&#xff0c;使用 Tab 键缩进&#xff0c;然后把注释删 除&#xff0c;不然可能会出错。 [ubuntu_samba] comment arm ubuntu sa…