| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2825 人关注过本帖
标题:[转载]百度的一道面试题,有兴趣的来看看吧!
只看楼主 加入收藏
百二秦关
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-6-6
收藏
得分:0 
以下是引用無邪的睡脸在2007-9-30 17:22:35的发言:
思考的关键是:两只蚂蚁碰头后都掉头,可以看作是穿过继续前进,因为掉头和继续对时间是没有影响的!至于为什么,好好想想应该不难理解!
所以最短时间应该是最中间的蚂蚁离开的时间,11s。最长的时间应该是27-3=24s。

貌似有点懂,又不太清楚...有点意思!"两只蚂蚁碰头后都掉头,可以看作是穿过继续前进"


2007-10-10 12:41
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
最快0 掉下来了
最慢∞ 饿死在上面了


女侠,约吗?
2007-10-10 20:00
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
以下是引用野比在2007-10-10 20:00:54的发言:
最快0 掉下来了
最慢∞ 饿死在上面了

好像死了也会掉下来的吧


Repeat  Life=Study;Until (death);
2007-10-10 20:02
dawn4640576
Rank: 1
等 级:新手上路
帖 子:1079
专家分:0
注 册:2007-9-19
收藏
得分:0 
死了又过了∞时间后掉下来了

我看青山多妩媚料青山看我应如是
2007-10-11 13:08
ytmGring
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-5-27
收藏
得分:0 
碰头看着穿头是可以理解的

a-> b-> <-c d-> e-> 'bc碰头 a-> b-> <-c d-> e-> 'bc碰头
a-> <-c b-> d-> e-> 'ca碰头 a-> <-b c-> d-> e-> 'ba碰头
<-c a-> b-> d-> e-> '直到全部走完 <-a b-> c-> d-> e-> '直到全部走完

你的题目没有说碰头和掉头需要时间就可以看作是穿透
如果碰头和掉头需要时间我想把这个时间加上就是了~

欢迎参观http://blog..cn/ytmGring
2007-10-24 15:22
ytmGring
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-5-27
收藏
得分:0 
我觉得很正确
今天下午写了个程序可以用来作实验
楼主口口生生说两只蚂蚁碰头不可看作穿透前行为什么不说出正确答案

这是我作的程序

欢迎参观http://blog..cn/ytmGring
2007-10-25 00:03
ytmGring
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-5-27
收藏
得分:0 
不能发东西上来~

代码又太长了~
主要是有图形表示很直观~所以代码多了点~
在不考虑碰头和调头需要时间的前提下最大时间为24最少时间为11

Private Const cm1 = 350 '定义1厘米的距离
'用一个图片控件表示木棍 名字为 stick
'用图片控件数组mayi来表示蚂蚁
Dim maf(1 To 5) As Integer '定义蚂蚁前进方向 0表示向左.1表示向右
Dim max(1 To 5) As Long '蚂蚁所在的位置
Dim i As Integer '循环用的变量
Dim num As Long '整个过程所用时间
Const sx = 150 '木棍的位置(X坐标)
Const sy = 500 '木棍的位置(Y坐标)
Const may = 350 '蚂蚁的Y坐标


Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Me.Width = cm1 * 30
'初始化木棍
stick.Move sx + cm1, sy '木棍的位置
stick.Width = cm1 * 27 '设置木棍的长度为27厘米
'初始化蚂蚁的图片
mayi(1).Visible = True
mayi(1).Picture = LoadPicture("left.bmp")
i = 2
Do While i < 6
Load mayi(i)
mayi(i).Visible = True
mayi(i).Picture = LoadPicture("left.bmp")
i = i + 1
Loop
'初始化蚂蚁的前进方向
'用一个控件数组mayi()来表示蚂蚁
'其中载入的图片有两张可选,一张是头朝左的一张是头朝右的.图片中红色的一端表示蚂蚁的头
i = 1
Do While i < 6
maf(i) = 0
i = i + 1
Loop
'定义5只蚂蚁的初始位置
max(1) = sx + 3 * cm1
max(2) = sx + 7 * cm1
max(3) = sx + 11 * cm1
max(4) = sx + 17 * cm1
max(5) = sx + 23 * cm1
'把蚂蚁放到初始位置去
i = 1
Do While i < 6
mayi(i).Move max(i), may
i = i + 1
Loop
'初始化定时器
Timer1.Interval = 1000
Timer1.Enabled = False

End Sub

Private Sub mayi_Click(Index As Integer)
If (maf(Index)) = 0 Then
mayi(Index).Picture = LoadPicture("right.bmp")
maf(Index) = 1
Else
mayi(Index).Picture = LoadPicture("left.bmp")
maf(Index) = 0
End If
End Sub

Private Sub Timer1_Timer()
'计时
num = num + 1
Label1.Caption = num
'移动蚂蚁
i = 1
Do While i < 6
If maf(i) = 0 Then '头向左
max(i) = max(i) - cm1
Else
max(i) = max(i) + cm1
End If
mayi(i).Move max(i), may
If max(i) <= sx Then
mayi(i).Visible = False '蚂蚁从木棍左边离开
max(i) = sx '离开后的蚂蚁位置将不再变化
End If
If max(i) >= sx + cm1 * 27 Then
mayi(i).Visible = False '蚂蚁从木棍右边离开
max(i) = sx + cm1 * 27 + 1 '离开后的蚂蚁位置将不再变化
End If
i = i + 1
Loop
'是否碰头
i = 1
Do While i < 6
If i + 1 < 6 Then
If mayi(i).Visible = True Then
If mayi(i + 1).Visible = True Then
If max(i) = max(i + 1) Then
'两只蚂蚁碰头
'换方向 也就调头
'换图片
If maf(i) = 0 Then
maf(i + 1) = 0
mayi(i + 1).Picture = LoadPicture("left.bmp")
maf(i) = 1
mayi(i).Picture = LoadPicture("right.bmp")
Else
maf(i) = 0
mayi(i).Picture = LoadPicture("left.bmp")
maf(i + 1) = 1
mayi(i + 1).Picture = LoadPicture("Right.bmp")
End If
End If
End If
End If
End If
i = i + 1
Loop
'检查是否所有的蚂蚁都离开木棍
Dim bf As Integer
bf = 1
i = 1
Do While i < 6
If max(i) > sx Then
If max(i) <= sx + cm1 * 27 Then
bf = 0
Exit Do
End If
End If
i = i + 1
Loop
If bf = 1 Then
Timer1.Enabled = False
End If
'显示每只蚂蚁当前状态
Text1.Text = (max(1) - sx) / cm1
Text2.Text = maf(1)
Text3.Text = (max(2) - sx) / cm1
Text4.Text = maf(2)
Text5.Text = (max(3) - sx) / cm1
Text6.Text = maf(3)
Text7.Text = (max(4) - sx) / cm1
Text8.Text = maf(4)
Text9.Text = (max(5) - sx) / cm1
Text10.Text = maf(5)
End Sub


欢迎参观http://blog..cn/ytmGring
2007-10-25 00:06
ytmGring
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-5-27
收藏
得分:0 
回复:(kaishiuexi)[转载]百度的一道面试题,有兴趣的...
唉............不能把做好的程序发上来~
谁要加偶QQ我传它RAR包

[此贴子已经被作者于2007-10-25 0:28:37编辑过]


欢迎参观http://blog..cn/ytmGring
2007-10-25 00:27
快速回复:[转载]百度的一道面试题,有兴趣的来看看吧!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026455 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved