| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2822 人关注过本帖
标题:[转载]百度的一道面试题,有兴趣的来看看吧!
只看楼主 加入收藏
sbwfnuff
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-10-6
收藏
得分:0 

aZ2ApcZ6.rar (5.2 KB) [转载]百度的一道面试题,有兴趣的来看看吧!




Option Explicit

Private Type sbwfn
num As Long
b_setp As Long
End Type
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Dim uff(1 To 5) As sbwfn
Dim e_tem As sbwfn
Dim e_com As CommandButton
Dim numeric As Byte
Dim time_ss As Long
Dim sd As Boolean

Private Sub Command1_Click()
sd = False
End Sub

Sub yy(tem_str As String) '初使化过程
Dim i As Byte
Dim m As Long
For i = 1 To 5
m = Val(Mid(tem_str, i, 1))

If m = 1 Then
uff(i).b_setp = 1
Else
uff(i).b_setp = -1
End If
Next i
uff(1).num = 30
uff(2).num = 70
uff(3).num = 110
uff(4).num = 170
uff(5).num = 230
numeric = 5
time_ss = 0
End Sub
Private Sub Command3_Click()
Dim a As Byte, b As Byte, c As Byte, d As Byte, e As Byte
Dim zh_string As String
Dim tim As Byte
Dim u As Byte, m As Byte
sd = True
List1.Clear
For a = 1 To 2
For b = 1 To 2
For c = 1 To 2
For d = 1 To 2
For e = 1 To 2
zh_string = a & b & c & d & e '所有可能的组合
yy zh_string '初使化开始值
Do While numeric > 0 And sd '判断所有蚂蚁是否走完的循环
For tim = 1 To numeric '内部循环,判断每只蚂蚁是否到达终点,或起始点
If uff(tim).num = 270 Or uff(tim).num = 0 Then '如果到达终点或起始点
e_tem = uff(tim) ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
uff(tim) = uff(numeric) '把该位置上的蚂蚁与最后一只蚂蚁位置对调
uff(numeric) = e_tem ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Set e_com = Command2(tim - 1)
Command2(tim - 1).Left = Command2(numeric - 1).Left
Command2(numeric - 1).Left = -100
numeric = numeric - 1
Exit For
Else
For u = 1 To numeric '内部循环判断,检查tim蚂蚁位置是否与每只蚂蚁的位置相同
If uff(tim).num = uff(u).num And tim <> u Then '如果相同
If uff(tim).b_setp > 0 Then ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
uff(tim).b_setp = -1
Else '则改变tim蚂蚁的头方向,使其朝相反的方向走
uff(tim).b_setp = 1
End If
End If ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Next u '如果与第一只蚂蚁位置不相同,则一直往后逐个检察
End If '结束tim蚂蚁是否到达终点的判断
Next tim
For m = 1 To numeric
uff(m).num = uff(m).num + uff(m).b_setp
Command2(m - 1).Left = uff(m).num
Next m
DoEvents
Sleep 100
time_ss = time_ss + 1

Loop
List1.AddItem zh_string & "-----" & time_ss

Next e
Next d
Next c
Next b
Next a
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub

大家帮忙看看我这对吗?有什么错的地方请各位大哥多多指点。

2007-10-07 14:19
kaishiuexi
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2007-6-8
收藏
得分:0 
回复:(無邪的睡脸)思考的关键是:两只蚂蚁碰头后都...

你的想法不对.
都掉头完全不同于穿透,你再仔细琢磨琢磨.对时间肯定有影响.


当白天又一次把黑夜按翻在床上的时候,太阳就出生了……
2007-10-07 14:33
sbwfnuff
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-10-6
收藏
得分:0 

按你这么说,那还得有个蚂蚁长度。而且不管是碰头还是碰尾都得掉头是吗?

2007-10-08 09:18
kaishiuexi
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2007-6-8
收藏
得分:0 
回复:(sbwfnuff)按你这么说,那还得有个蚂蚁长度。...

蚂蚁长度忽略不计,可以肯定的是:不可能碰尾!
因为他们同时做匀速运动!


当白天又一次把黑夜按翻在床上的时候,太阳就出生了……
2007-10-08 09:23
xiaogen
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-9-14
收藏
得分:0 

想了一会儿了~~
蚂蚁单独爬完木杆时间为
第一只蚂蚁 3秒 或者27-3=24秒
第二只蚂蚁 7秒 或者27-7=20秒
第三只蚂蚁 11秒 或者27-11=16秒
第四只蚂蚁 17秒 或者27-17=10秒
第五只蚂蚁 23秒 或者27-23=4秒
不管蚂蚁碰头后调转的时候,就当作那个蚂蚁穿过去了反正速度都一样不用分成蚂蚁ABC(我想这是不是坎儿啊?)
(取每只蚂蚁)最少时间爬完木杆的时间 分别为 3,7,11,10,4 其中取最大值就是 11秒(5只蚂蚁爬完最少时间)
最大时间爬完木杆的时间 分别为 24,20,16,17,23 其中取最大值就是 24秒 (5只蚂蚁爬完最大时间)
这样的话 编程是不是简单了??~我想的对不?

2007-10-09 10:27
随风逐流
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:passerby
等 级:版主
威 望:8
帖 子:4054
专家分:271
注 册:2007-6-13
收藏
得分:0 
以下是引用xiaogen在2007-10-9 10:27:29的发言:

想了一会儿了~~
蚂蚁单独爬完木杆时间为
第一只蚂蚁 3秒 或者27-3=24秒
第二只蚂蚁 7秒 或者27-7=20秒
第三只蚂蚁 11秒 或者27-11=16秒
第四只蚂蚁 17秒 或者27-17=10秒
第五只蚂蚁 23秒 或者27-23=4秒
不管蚂蚁碰头后调转的时候,就当作那个蚂蚁穿过去了反正速度都一样不用分成蚂蚁ABC(我想这是不是坎儿啊?)
(取每只蚂蚁)最少时间爬完木杆的时间 分别为 3,7,11,10,4 其中取最大值就是 11秒(5只蚂蚁爬完最少时间)
最大时间爬完木杆的时间 分别为 24,20,16,17,23 其中取最大值就是 24秒 (5只蚂蚁爬完最大时间)
这样的话 编程是不是简单了??~我想的对不?

老兄,3,7,11,10,4最大是11?


[url=http://www./html/6/6694/]极道金丹[/url][url=http://www./html/2/2849/]九阴九阳[/url][url=http://www./html/2/2596/]凡人修仙传[/url]
2007-10-09 12:51
我是一只菜菜鸟
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-9-29
收藏
得分:0 
哎,又晕了

从菜鸟开始````
2007-10-09 17:46
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
没弄懂数学概念程序是写不出来的

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2007-10-09 22:35
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
掉头和穿透是一样的

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-10 08:34
kaishiuexi
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2007-6-8
收藏
得分:0 
a-> b-> <-c d-> e->
b和c碰头后掉头,会引起a和b碰头

如果穿透和碰头一样,你就再想想吧!!!!!!!!!

当白天又一次把黑夜按翻在床上的时候,太阳就出生了……
2007-10-10 10:34
快速回复:[转载]百度的一道面试题,有兴趣的来看看吧!
数据加载中...
 
   



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

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