黑马程序员技术交流社区

标题: 一个算法题!大神们看看…… [打印本页]

作者: 花心々小土豆    时间: 2013-8-12 23:55
标题: 一个算法题!大神们看看……
本帖最后由 花心々小土豆 于 2013-8-12 23:57 编辑

有一个花卉公司欲培育一种新花,并进行大批量生产,新花的方法已经找到如下4个阶段:
种子-->发芽          1h
发芽-->嫩叶          1h   -----
嫩叶-->花蕾          1h

成长到花蕾需要执行一个嫁接过程:发芽+花蕾=新品种花蕾


新品种花蕾-->开花        4h


有些嫁接培育新花至少需要两盆盆栽,嫁接后发芽期的盆会重新种上种子,然后它也会经过上述流程开花;
开花后的花盆会重新种上新的种子

问需要多少盆盆栽它们会循环,不需要增加新盆?(在嫩叶这个阶段应该添加一个新盆,等到嫩叶成长到花蕾时,新盆的为发芽可用于嫁接)。






作者: 会飞的狼    时间: 2013-8-13 03:01
本帖最后由 会飞的狼 于 2013-8-13 13:50 编辑

我想应该是8盆:一盆专门用来长芽用于嫁接设为a,其它七盆专门长新花蕾设为b类盆(b1—b7),长芽的盆一个小时就可以提供一个芽用于嫁接;
具体操作方式应该这样:b1种子,过一个小时后b2种子,再过一个小时后给b3种子……以此类推……,而b1种子两个小时后就给a种子,a每个小时种一次子,然后每个小时a都可以提供嫁接的芽,而且每个小时都有一个盆出现花蕾,第七盘嫁接完之后第一盆已经长了一个小时了,这样一个小时候a盘又可以给第一盆嫁接,这样之后就不停循环了。
作者: 会飞的狼    时间: 2013-8-13 18:10
会飞的狼 发表于 2013-8-13 03:01
我想应该是8盆:一盆专门用来长芽用于嫁接设为a,其它七盆专门长新花蕾设为b类盆(b1—b7),长芽的盆一个 ...

更少的话,我就没有多想了,我只看到你需要循环,没考虑资源最少利用,那样比较复杂,你可以自己推算一下,应该不难,先假设一个盆,种子生长,等到嫩叶的时候就new一个新盆,以此类推,不管哪个盆嫁接走了还是长出了新花蕾,都立即种子,每次已用的盆中有嫩叶出现了,就查看已用的盆种有没有刚种子的,如果没有就new新盆,如果有第一次没有使用到新盆,那么就开始循环了,再也不用new新盆了,程序设计大概应该就是这样,我就懒得写了
作者: 曾文德    时间: 2013-8-13 18:19
弱弱的问你一句你的种子--->发芽 1h 这样表达的是 种子到发芽过程需要一盆吗?
作者: 杨增坤    时间: 2013-8-13 19:05
我有些疑问?请帮忙解决!,是求需要的盆数最少,还是在效率最高的,还有,要是嫁接的话,嫁接后的花蕾的盆就空着了吗,??
作者: 以防万一    时间: 2013-8-13 22:31
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作
作者: 以防万一    时间: 2013-8-13 22:32
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作
作者: 会飞的狼    时间: 2013-8-14 00:02
会飞的狼 发表于 2013-8-13 03:01
我想应该是8盆:一盆专门用来长芽用于嫁接设为a,其它七盆专门长新花蕾设为b类盆(b1—b7),长芽的盆一个 ...

我刚学java不久,要搞出来程序实现估计要半天,你可以试着在纸上画一下,我试着花了一个下,三盆是绝对不行,至少在四盆朝上,不过我有种感觉这个题目就是八盆,因为在我的那种嫁接方式下开始循环就已经没有资源浪费了,每个盆都充分利用起来了,我觉得这题目像拓扑,可以抽出图来进行研究更方便
作者: 以防万一    时间: 2013-8-14 01:48
亲,我想说,我说的是“如果”问题已解决请更该分类、、、、、、、



作者: 手心里的温柔    时间: 2013-8-14 10:59
这个循环应该怎么理解?是保证每个小时都有新品种花的产生吗?
如过说没这这个限制的话,两个盆就够了,培育一种新花需7个小时,其中一个盆只用来培育发芽阶段
作者: 丁海平    时间: 2013-8-25 13:50
觉得还可以,思路不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2