有个关于数组的问题,与递归和回溯有联系,但又不同,苦思几天了,还没头绪

ezhengbin 2003-09-13 05:12:21
内容如下:
用户自己手工输入一个二维数组,列为13,行随意,其中的每个元素的取值是0到40,每行的值的大小没规则,但每列从上到下递增;给定两个整数值a和b,;要求找出所有满足如下条件的二维数组,其中列为13:1、每列的值来源与手工输入的二维数组的列中的值;2、每行的值之和等于a;3、每行中的每个元素与对应列号(0、1、2、。。。、12)的积之和等于b;

本人思路如下(解法很死板):对手工输入的二维数组,采取变通的方式,手工输入13个一维数组并且先给定长度,然后用13层循环嵌套,加个判断,行之和的值and行的元素与列号的积之和的值,符合条件则输出。但是这个方法太死板,越琢磨越不对劲,执行起来的运算次数是13的13次幂,太低效了。请各位感兴趣的人士给个解决方案。
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ezhengbin 2003-09-15
  • 打赏
  • 举报
回复
但是,这个判断是for循环中的一个必须的判断条件。我现在的主要解决思路是如何用好算法来简化循环,13层循环,太死板,目前是想往递归和回溯方向靠近。
hkbarton 2003-09-14
  • 打赏
  • 举报
回复
晕,数据结构的看了就头大~~~~
Cipherliu 2003-09-14
  • 打赏
  • 举报
回复
学习接分
nyf1220 2003-09-13
  • 打赏
  • 举报
回复
好的方法我没有,但是我可以给你里面在加个条件,既然你每行都是递增的,那么,当你判断到某行的和已经等于a时,底下的就不需要在判断了,以为肯定比a大!

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧