一个超牛的程序设计题,请帮忙

[复制链接]
查看11 | 回复3 | 2009-2-23 13:50:16 | 显示全部楼层 |阅读模式
有一根长27厘米的小木棍儿,在木棍儿的3厘米,7厘米,11厘米,17厘米,23厘米的地方各有一只蚂蚁。这5只蚂蚁的走向是不知道的,假设小木棍儿很细只能通过一只蚂蚁。蚂蚁只能往前走或者掉头,不能后退(也就是不能倒着走)!当任意两只蚂蚁碰头的时候会同时掉头朝反方向走。假设蚂蚁一秒钟能走一厘米,求蚂蚁全部离开木棍儿的最小和最大时间。用程序设计出来,可以只写思路!

回复

使用道具 举报

千问 | 2009-2-23 13:50:16 | 显示全部楼层
一共两个类,具体思路看我的注释吧,应该够详细了:蚂蚁类定义数据结构,蚂蚁移动类则是具体的走法的输出蚂蚁类:public class Ant { private int direction; private int position; /** 初始化蚂蚁的位置*/ public Ant(int position){this.position=position; } public int getDirection() {return direction; } public void setDirection(int direction) {this.direction ...
回复

使用道具 举报

千问 | 2009-2-23 13:50:16 | 显示全部楼层
共有五只蚂蚁,每只蚂蚁开始只有正、反向两种状态,意思说只有2^5=32种状态,只要把这32种状态都试完了,最大最小时间也就出来了。可以建立Ant类public class Ant {int position;boolean direction;}position取值范围 0~27代表在木棍上的位置。direction 代表...
回复

使用道具 举报

千问 | 2009-2-23 13:50:16 | 显示全部楼层
怎么看着都像是微软技术面试心得上的题。。。书不在我手边放公司了蚂蚁掉头的情况跟没掉头是一样的。。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行