26.篮球练习

Description

小徐酷爱打篮球,在小学期的前两周半都在练习篮球。今天,小徐想要练习如何突破。
练习场地可由如下所示的网格图表示,图中的位置可用坐标表示。
其中A点(0,0)为小徐的起始位置,B点(n,m)为小徐想要到达的位置。
一起训练的还有场上的防守队员小彩,其位于C点。已知小徐行动时只能向右或向下前进,且当小徐相对于小彩的位置为Pi(i = 1,2…8)时,小徐会被抢断(注:在C点时同样会被抢断)。

注意,Pi坐标是会随C位置的变化而变化的,但相对位置是固定的.
现在要求你计算小徐从A点到达B点且不被抢断的路径条数。假设小彩的位置是固定不动的,并不是小徐走一步小彩走一步。在这里插入图片描述

Input

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

Output

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

Hint

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

思路

动态规划的简单练习。最需要注意的是数据太大,需要用到long long
long long dp[i][j],先初始化dp[0][j]dp[i][0],能到达就是1,到不了就是0。然后对整个dp[i][j]操作,如果该点不会被抢断,dp[i][j]=dp[i-1][j]+dp[i][j-1]到达该点的路径数为其上和左路径数之和。最后输出dp[n][m]即可。还有是除了 p i p_i pi 8个点,c点也不能通过.

代码

#include<stdio.h>
#include<stdlib.h>
#define isOK(i,j) (abs(p-i)+abs(q-j)==3 && p-i && q-j || abs(p-i)+abs(q-j)==0)?0:1
int main()
{int n,m,p,q,i=0,j=0;long long dp[21][21]={0};//B点(n,m) C点(p,q)scanf("%d %d %d %d",&n,&m,&p,&q);dp[0][0]=1;for(i=1;i<=n;i++){if(isOK(i,0))	dp[i][0]=dp[i-1][0];else	dp[i][0]=0;}	for(j=1;j<=m;j++){if(isOK(0,j))	dp[0][j]=dp[0][j-1];else	dp[0][j]=0;}	for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(isOK(i,j))	dp[i][j]=dp[i-1][j]+dp[i][j-1];else	dp[i][j]=0;}}printf("%lld\n",dp[n][m]);
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速搭建 nfs 环境, 解决 nfs 搭建时的疑难杂症

博客原文 nfs 环境搭建 简介: NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计算机之间共享资源。 在NFS的应用中&#xff0c;本地NFS的客户端应用可以透明地读写位于远端NFS服务器上…

22年中科院1区算法|白鲸优化器BWO原理及其利用与改进(Matlab/Python)

文章来源于我的个人公众号&#xff1a;KAU的云实验台&#xff0c;主要更新智能优化算法的原理、应用、改进 CEC2005中的测试 本文KAU将介绍一个2022年发表在中科院1区期刊KBS上的优化算法——白鲸优化算法(Beluga Whale Optimization&#xff0c;BWO)[1] 该算法由大连理工…

STM32单片机的基本原理与应用(七)

超声波测距实验 基本原理 超声波测距实验是STM32单片机通过控制HC-SR04超声波模块&#xff0c;使其发送超声波&#xff0c;遇到物体反射回超声波来实现距离测量&#xff0c;其原理就是在发射超声波到接收超声波会有一段时间&#xff0c;而超声波在空气中传播的速度为声速&…

【大厂AI课学习笔记】【1.6 人工智能基础知识】(3)神经网络

深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅草莓照片)可以使用 多种方式来表示&#xff0c;如每个像素强度值的向量&#xff0c;或者更抽象地表示成一系列边、特定形状的区域等。 深度学习的最主要特征是使用神经网络作为计算模型。神经网络模型 …

汉服租赁网站:Java技术的文化应用

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

指纹浏览器能为TikTok运营提供哪些便利?

在数字时代&#xff0c;TikTok已成为全球短视频平台的佼佼者&#xff0c;吸引了数以亿计的活跃用户。为了更有效地进行TikTok运营&#xff0c;许多人开始探索先进的工具和技术。本文将重点探讨指纹浏览器如何为TikTok运营提供便利&#xff0c;提高账户管理的效率和安全性。 1.账…

用code去探索理解Llama架构的简单又实用的方法

除了白月光我们也需要朱砂痣 我最近也在反思&#xff0c;可能有时候算法和论文也不是每个读者都爱看&#xff0c;我也会在今后的文章中加点code或者debug模型的内容&#xff0c;也许还有一些好玩的应用demo&#xff0c;会提升这部分在文章类型中的比例 今天带着大家通过代码角度…

Ubuntu Desktop - Details (设备详情)

Ubuntu Desktop - Details [设备详情] 1. OverviewReferences 1. Overview System Settings -> Details -> Overview ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

学习Android的第十天

目录 Android CheckBox 复选框 获得选中的 CheckBox 的值 自定义点击效果 改变文字与选择框的相对位置 修改文字与选择框的距离 Android ToggleButton 开关按钮 改变 ToggleButton 的状态和文本 Android Switch 开关 改变 Switch 的状态和文本 Android CheckBox 复选框…

骑砍战团MOD开发(44)-可编程渲染管线shader编程

一.可编程渲染管线 在GPU进行3D模型投射到2D平面过程中,渲染管线算法对开发者开放,目前支持的编程语言有OpenGL的ARB语言(pp文件),Direct3D的HLSL高级shader编程语言(fx文件). Direct3D提供一下API实现程序加载shader着色器文件: D3DXCreateEffectFromFile(gDevice,"fxfn…

《UE5_C++多人TPS完整教程》学习笔记11 ——《P12 Steam 地区(Steam Regions)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— P12 Steam 地区&#xff08;Steam Regions&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&#…

sheng的学习笔记-docker部署springboot

部署文章目录&#xff1a;目录 docker部署&#xff0c;原理&#xff0c;命令&#xff0c;可以参考&#xff1a;docker原理图&#xff0c;部署&#xff0c;命令 目录 将springboot部署到docker中 遇到过的问题&#xff1a; pom配置 操作步骤 生成jar 构建镜像 查看镜像d…