Pascal的旅行

pascal的旅行 【问题描述】 一块的nxn游戏板上填充着整数,每个方格上为一个非负整数。目标是沿着从左上角到右下角的任何合法路径行进,方格中的整数决定离开该位置的距离有多大,所有步骤必须向右或向下。请注意,0是一个死胡同。 图1所示的4 x 4板,其中实心圆标识起始位置,虚线圆标识目标,图2显示了从开始到目标的三个路径。 图一 图二 【输入形式】 输入开始是一个正整数n(4<=n<=30), 接 阅读详情
一块的nxn游戏板上填充着整数,每个方格上为一个非负整数。目标是沿着从左上角到右下角的任何合法路径行进,方格中的整数决定离开该位置的距离有多大,所有步骤必须向右或向下。请注意,0是一个死胡同。

      图1所示的4 x 4板,其中实心圆标识起始位置,虚线圆标识目标,图2显示了从开始到目标的三个路径。

                     

                                    图1


                                   图2

【输入形式】

       输入开始是一个正整数n(4<=n<=30), 接下来的n行,每行输入n个0~9中的一个数字,数字间用空格隔开。

【输出形式】

      输出一个整数,表示从左上角到右下角的路径数。

【样例输入】

4
2 3 3 1
1 2 1 3
1 2 3 1
3 1 1 0

【样例输出】3


这题要求走格子,并且只能单向向右或者向下走。并且走的格子数目为目前对应的数字。

所以考虑使用递归。

在这里还是要注意递归的一些写法

1.注意sum声明位置。如果sum在外部,则表明sum是一个全局变量,任何一个有修改sum值的行为都会使sum的值永久性地被修改,所以sum的声明还是要声明在dfs函数的内部。这样的话,第一个sum就像于真正意义上的sum-总步数,其余的sum实际上就是一个计数的工具。反正最后return回给sum总值。
2.注意特殊情况的发生。if(a[x][y]!=0) 就防止了死循环的发生,当某一个值为0的时候,此时的步数就限制在了该位置,无法进行位移


#include<iostream>
#include<iomanip>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
int n;
int a[1000][1000];
/*递归的写法注意点
1.注意sum声明位置。如果sum在外部,则表明sum是一个全局变量,任何一个有修改sum值的行为都会使sum的值永久性地被修改,所以sum的声明还是要声明在dfs函数的内部。
 这样的话,第一个sum就像于真正意义上的sum-总步数,其余的sum实际上就是一个计数的工具。反正最后return回给sum总值。
2.注意特殊情况的发生。if(a[x][y]!=0) 就防止了死循环的发生,当某一个值为0的时候,此时的步数就限制在了该位置,无法进行位移
*/
int dfs(int x,int y)
{
 int sum=0;
 if(x<=n-1&&y<=n-1)
 {
  
   if(x==n-1&&y==n-1) return 1;
   else
   if(a[x][y]!=0){
  sum+=dfs(x+a[x][y],y);
  sum+=dfs(x,y+a[x][y]);
   }
    }
    else return 0;
 return sum; 
}
int main()
{
 cin>>n;
 for(int i=0;i<n;i++)
 for(int s=0;s<n;s++) cin>>a[i][s];
 cout<<dfs(0,0);
}

洛谷 P1782 旅行商的背包(二进制优化下的DP) 题目描述小S坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商。在出发之前,他购进了一些物品。这些物品共有n种,第i种体积为Vi,价值为Wi,共有Di件。他的背包体积是C。怎样装才能获得尽量多的收益呢?作为一名大神犇,他轻而易举的解决了这个问题。然而,就在他出发前,他又收到了一批奇货。这些货共有m件,第i件的价值Yi与分配的体积Xi之间的关系为:Yi=ai*Xi^2+bi*Xi+ci 阅读详情

相关推荐

用Pascal Editor轻松创建3D建筑项目

Pascal Editor是一款基于React、Three.js和WebGPU技术的3D建筑编辑器,采用Turborepo管理项目结构。它通过节点系统构建建筑模型,使用Zustand进行状态管理,支持撤销/重做操作。编辑器提供多种渲染器和系统来实时生成3D几何体,并配备丰富的建筑编辑工具。相比SketchUp等专业软件,Pascal Editor更轻量且专注于建筑设计,适合各类用户快速创建和分享3D建筑项目。开发环境使用Bun构建,支持生产部署。

weixin_44626085的博客 373

帕斯卡(Pascal)的旅行

问题 N: 【递归与递推 】帕斯卡的旅行 题目: 在一个n×n个方格的游戏板中,每个方格中有一个非负整数。游戏的目标是从游戏板的左上角沿任何合法路径移动到右下角。任何一个方格内的数字规定了离开本方格的一步必须移动的方格数。如果移动的一步越出了游戏板,则这个方向的移动是禁止的。每一步移动只能是向下或向右的。考虑如下图所示的4×4的板,这里正体字表示出发位置,斜体字表示目的位置。后面显示了从出发位置到...

Spidy_harker的博客 918

zemax混合式非序列模拟

注意不要点击左侧的非序列模式,那个时纯粹的非序列,会清除序列模式的数据。第2、4、6透镜材质为空气,是为了让光线进入到多重透镜内部。这时普通的优化方式会失败。平行光束经过多焦透镜时,会汇聚在不同焦距处。所以还需要控制能量的大小,进行优化。接下来用非序列模式设计一个多焦透镜。像面的孔径为圆形通光孔:0-1.2。透镜不同位置处有不同的聚焦位置。透镜的z轴位置相同,重合。

fendoudecheng的博客 3068

C++程序设计:Pascal的旅行

【问题描述】 一块的nxn游戏板上填充着整数,每个方格上为一个非负整数。目标是沿着从左上角到右下角的任何合法路径行进,方格中的整数决定离开该位置的距离有多大,所有步骤必须向右或向下。请注意,0是一个死胡同。 图1所示的4 x 4板,其中实心圆标识起始位置,虚线圆标识目标,图2显示了从开始到目标的三个路径。 【输入形式】 输入开始是一个正整数n(4<=n<=30), 接下来的n行,每行输入n个0~9中的一个数字,数字间用空格隔开。 【输出形式】 输出一个整数,表示从左上角到右下角的路径数。 【

乔卿的博客 527

Tesseract OCR识别不准?手把手教你用PyAutoGUI提升自动点击脚本的准确率

本文针对Tesseract OCR在屏幕自动化中识别不准的问题,提供了一套完整的优化方案。通过PyAutoGUI精准截图、结合PIL和OpenCV进行图像预处理(如灰度化、对比度增强、自适应二值化),并调优Tesseract参数(如PSM模式、白名单),显著提升文本识别准确率。文章还介绍了结合模板匹配、构建容错循环等进阶技巧,帮助开发者打造高可靠性的自动点击脚本。

weixin_29093017的博客 544

TMC5160 StallGuard2调参避坑指南:从SG_RESULT飘忽不定到稳定检测堵转

本文详细解析了TMC5160的StallGuard2功能在堵转测试中的调参技巧,从SG_RESULT波动问题到稳定检测的完整解决方案。通过电流环与反电动势分析、电源噪声处理及低速校准法等实用方法,帮助工程师实现工业级可靠的堵转检测,避免误触发和检测失效问题。

weixin_28727975的博客 380

【C++】Pascal的旅行

一块的nxn游戏板上填充着整数,每个方格上为一个非负整数。目标是沿着从左上角到右下角的任何合法路径行进,方格中的整数决定离开该位置的距离有多大,所有步骤必须向右或向下。请注意,0是一个死胡同。      图1所示的4 x 4板,其中实心圆标识起始位置,虚线圆标识目标,图2显示了从开始到目标的三个路径。

... 695

神经网络基础-从零开始搭建一个神经网络

人工神经网络(Articial Neural Network,简写为ANN)也称为神经网络(NN),是一种模仿生物神经网络和功能的计算模型,人脑可以看做是一个生物神经网络,由众多的神经元连接而成,各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。人工神经网络也是类似,通过模仿人脑的“学习机器”,通过不断“看”数据(比如图片,数字),自己总结规律,最终学会预测(比如分类图片)在深度学习中,损失函数是用来衡量模型参数的质量的函数,衡量的方式是比较网络输出和真实输出的差异。

Zach的博客 4014

基础递归与递推总结

基础递归与递推总结 前记:还是很基础的专题啊,不过后面有刚开始学会很头疼的汉诺塔问题。emmm,算入门了吧。 文章目录基础递归与递推总结【递归与递推】猴子摘桃【递归与递推】移梵塔 【递归与递推】猴子摘桃 题目描述: 果园里种了很多桃树,当桃树开始结果的时候,猴子便会成群结队地前来摘桃。猴子们第一天会摘掉桃子的一半还多一个,第二天再摘第一天剩下的一半还多一个,以后每天均摘掉上一天剩下的一半还多一个,...

soul_mingling的博客 2203

PreScan快速入门到精通第十一讲之PreScan道路标记,建筑物、抽象物体及交通标识

道路标记目的:路标是为了完善智能驾驶实验场景。用途:道路标记是附加在道路段上的。标记的大小{小、大}、颜色,以及相对于路段的位置和方向可以在属性编辑器中设置。也可以指定褪色和孔洞,类似于路段自动添加标记的配置。在GUI中的位置:作为一个预定义的库元素格式:NAMBOX: 汇编表中不知道。PreScan包含三个不同国家的标记:荷兰、日本和美国。可以通过在国家首选项中切换国家来隐藏或显示。附件道路标线附在路段上,并相对于路段原点定位。默认情况下,道路标记被固定在路段上,用小锚点表示。11.2 建筑物目...

小明师兄的博客 1805

微信小程序 - 解决支付报错 requestPayment:fail access denied (微信支付提示错误requestPayment:拒绝访问失败,真机运行测试或打包编译上线后报错问题)

微信小程序,微信支付,wx.requestPayment,微信小程序支付报错requestPayment:fail access denied,调不起微信,无法唤起支付弹窗,支付失败,支付权限没问题,小程序上线后支付报错,小程序真机测试支付报错,微信小程序苹果ios系统手机无法支付,小程序发布上线后支付报错,本地测试没问题,拒绝访问失败,小程序调起支付API requestPayment:fail:access denied微信开发者工具正常支付,权限没问题,微信公众平台,依旧报错怎么办,检查了appid都

🏆 前端领域优质创作者 1万+

骑士旅行pascal解题程序

这题我是用广度优先搜索的方法来做的 我先找出下一个能走的点,再把它放进队列里,如果到了目标点,就把tail放进best,tail等于0,最后输出。 做这题的时候,用最大数据时,一直栈溢出,原来是数组不够大,把50*50算成250了,搞得我调试了超久。 const dx:array[1..8]of integer=(2,2,1,1,-1,-1,-2,-...

255

[RK3568 Android11] 教程之原厂SDK源码适配AIO-3568J板子跑起来

目录 一、前提 二、修改dts设备树 三、适配板子的dts 四、编译系统烧入固件验证 一、前提 因源码是直接使用原厂的SDK,没有使用firefly配套的SDK源码,所以手上这块firefly aio-3568j板子在硬件设计上与原厂使用的板子会有些差异;就是因为这些差异会导致新固件烧入后,debug串口打印许多错误信息,可能的话,系统还会崩溃掉,跑不起来; 主要差异在哪里呢?比如: ● DDR类型和品牌多样性; ...

~未来可期~ 1744

Codevs1036 商务旅行 LCA【pascal】

LCA模板题,注意是双向边=。=,而且是顺次经过m个城市 var n,a,b,l,m,ans :longint; i,j :longint; vis :array[0..30010] of boolean; last,d :array[0..300

Eirlys的博客 1133

YOLOv11 改进 - 检测头 | Detect_LSCD轻量共享卷积检测头:轻量化设计破解计算瓶颈,增强复杂场景目标感知能力

本文介绍了基于群归一化(GroupNorm)和共享卷积的轻量化检测头LSCD,并将其集成进YOLOv11。LSCD检测头充分利用了GroupNorm和共享卷积的优势,在保持特征信息有效融合的同时,减少计算量和运算复杂度。我们将LSCD的代码集成到YOLOv11检测头中,并在tasks文件中进行注册。实验证明,YOLOv11-LSCD在目标检测任务中取得了良好的效果。

魔改工程师的博客 2394

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

打卡第四天 P1081 [NOIP2012 提高组] 开车旅行

【代码】打卡第四天 P1081 [NOIP2012 提高组] 开车旅行。

你猜我是谁? 697

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2009-2013年noip初赛提高组c++语言试题及参考答案,【NOIP提高组】2017初赛C++语言试题及参考答案...

一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。A. 2020 B. 2021 C. 2022D. 20232.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。A. 43 B. -85 C. -43 D.-843.分辨率为 1600×900、1...

weixin_29184371的博客 614

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

My USACO Analysis:Your Ride Is Here

Here is my own solution in PASCAL:program ride(input,output);const  a:array[A..Z]of integer=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26);var  s:string;  l,i,sum1,sum2

billoshi_USACO 476

UVa OJ 11935-Through the Desert

<br />模拟:<br />{ Author:wzx961008 Problem:UVa 11935-Through the Desert Verdict:Accepted Language:PASCAL Run Time:0.004s Submission Date:2011-03-23 16:37:16 } var now_csp,now_loc,last_loc,leak_num,space_num:longint; now_fuel,min_volume:ex

Chiwin 821

3408: [Usaco2009 Oct]Heat Wave 热浪

3408: [Usaco2009 Oct]Heat Wave 热浪 Time Limit:3 SecMemory Limit:128 MBSubmit:67Solved:55[Submit][Status][Discuss] Description Input 第1行:4个由空格隔开的整数T,C,Ts,Te. 第2到第C+1行:...

164

探索经典:用Swift重构的Pascal解释器

探索经典:用Swift重构的Pascal解释器 在编程的世界里,重温经典总是令人兴奋。今天,我们要介绍的是一个独特的开源项目——一个用Swift编写的Pascal语言解释器。这个项目不仅是一次对历史的致敬,也是对现代编程语言Swift能力的一次展示。 项目介绍 这是一款精简且功能齐全的Pascal解释器,灵感源自于经典的“让我们一起构建一个简单的解释器”系列教程。通过这个项目,开发者可以在S...

gitblog_00678的博客 813

洛谷【P1523】旅行商的背包(算法导论 15-1) 题解

P1523 旅行商简化版 题目背景 欧几里德旅行商\((Euclidean Traveling Salesman)\)问题也就是货郎担问题一直是困扰全世界数学家、计算机学家的著名问题。现有的算法都没有办法在确定型机器上在多项式时间内求出最优解,但是有办法在多项式时间内求出一个较优解。 为了简化问题,而且保证能在多项式时间内求出最优解,\(J.L.Bentley\)提出了一种叫做\(bitonic\...

weixin_34378045的博客 212
上一篇: 求数根的简单算法
下一篇: 约瑟夫循环报数问题
scanferror
博客等级 码龄9年 6粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值