zoj 1005 Jugs || poj 1606 (广搜做法~~~~)

211 篇文章 0 订阅
53 篇文章 0 订阅

 第二道广搜题。目前所写的最长的代码!!!纠结一天了!!!哎。这个题目。还有数学解法的,数学的改天再研究,先说广搜做法。

 

本来根据昨天的那道题,广搜基本已经掌握了,遇到这题还是想了会。因为要控制两个数,还要记录位置。要用队列,想了会,本来想用两个队列,后来想想,如果一个队列按顺序的话就可以了,先出A后出B。关于记录位置这个,本来觉得自己想法还是很好的,用一个数字记录,即到最后的那个数字每个位上的数字代表一个操作,我采用X*10+y。。。后来发现这是个很大的弊端!!!因为整型有范围啊,所以最多有10位,也就是我这个算法最多只能算10个步骤,我哭~~~~~~泪奔~~~~~!!做了一下午的!!~~~~(>_<)~~~~ 后来又想字符串数组,三维的。。第一次用,被告之数组太大了!!也是,每个下标开到了1000,最后那个开到了10000,哎。还是不行。。。实在没辙了,开始看某亮的算法,他用的结构体,链表吧算是。好纠结。一直不想看,不想看链表指针的东西,没办法了,这题总不能放着吧。

 

他的做法是创建一个链表(这算链表吧),链表里存着A,B,以及操作的步骤,很聪明的做法~赞一个~这样入队出队入的就是结构体,出的也是,好神奇!!呵呵~第一次把队列用在其他类型上,嗯嗯,以后好好学学~~这样下来,到最后只用查找到第一个节点,然后一步一步找下去,将步骤找完。好神奇啊好神奇!!!!!!什么时候我能想出来这么神奇的算法捏??~~呵呵。ZOJ过不了,WA,POJ过了。为什么捏??明明是两道一模一样的题。。。

 

放代码,第一个是我先前写的代码,只能算10个步骤的。好赖写一下午了,呵呵。

 

    

 

 

下面的是修改。。额 。基本算是重写的代码,基本是某亮的翻版。。。

 

 

 

想想我折腾的,还是有点进步的吧~~~~~~~呵呵~~再接再厉!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值