百度面试题关于蚂蚁问题
百度笔试之蚂蚁们和木杆

}
if (pos[ant_id] == pos[ant_id-1] && pos[ant_id] == pos[ant_id+1]){
// Aha, no way to go, just change direction
directions[ant_id + directions[ant_id]] *= -1; // 注意这里,方向控制哦,看清楚谁掉头~~
++march_end;
return 0;
}
// check if meet others, must be in the current direction
if (pos[ant_id] == pos[ant_id + directions[ant_id]] // 这里很重要哦~
int directions[MAX_ANTS];
GiveDirection(directions, MAX_ANTS, 0);
// ok it's time to output
cout << "max time: " << max_time << endl << "min_time: " << min_time << endl;
if (pos[ant_id] <= 0 || pos[ant_id] >= LENGTH){ // 到头了~~
return 0;
}
if (pos[ant_id] == pos[ant_id-1] && pos[ant_id] == pos[ant_id+1]){
各种奇葩的面试题目(3篇)

第1篇一、生活篇1. 如果你家的门铃响了,但你正好在洗澡,你会怎么办?2. 如果你突然发现你的宠物狗会说话,它说:“主人,我其实是外星人!”你会相信吗?3. 如果你穿越到了古代,你会选择当皇帝还是选择当一名普通百姓?二、职场篇1. 请用三句话以内概括你的人生经历。
2. 如果你是一名清洁工,发现公司董事长办公室的地上有垃圾,你会怎么做?3. 如果你是一名销售员,面对一位挑剔的客户,你会如何应对?三、创意篇1. 请设计一个未来城市,并说明你的设计理念。
2. 如果你是一名导演,请为你心中的“最佳男主角”写一个剧本片段。
3. 请用10个字以内概括“爱情”的含义。
四、心理篇1. 如果你看到一位老人摔倒在地,你会立即上前搀扶还是选择视而不见?2. 请用三个词形容你的上司,并说明原因。
3. 如果你被关在一个只有一扇窗户的房间里,你会怎样度过一天?五、娱乐篇1. 如果你有机会参加一档综艺节目,你会选择哪一档?2. 如果你有机会与一位明星共进晚餐,你会选择哪位明星?3. 请描述一次你印象深刻的梦境,并解释其象征意义。
六、美食篇1. 请设计一道创意菜品,并说明其食材和烹饪方法。
2. 如果你是一位美食评论家,请为以下菜品写出一段评论:“红烧肉、清蒸鱼、麻辣烫、烧烤、火锅、寿司、蛋糕、披萨、炸鸡、麻辣烫。
”3. 请描述一次你与家人一起做饭的美好时光。
七、科技篇1. 请预测一下未来5年内,哪项科技将会改变我们的生活?2. 如果你是一名程序员,请编写一个简单的程序,实现以下功能:“当输入一个数字时,程序会输出该数字的因数。
”3. 请描述一次你使用科技产品解决问题的经历。
八、教育篇1. 请谈谈你对素质教育的理解。
2. 如果你是一名教师,面对一位学习成绩较差的学生,你会如何帮助他提高成绩?3. 请描述一次你参加过的有意义的教育活动。
九、旅游篇1. 请谈谈你最喜欢的旅游目的地,并说明原因。
2. 如果你有机会环游世界,你会选择哪些国家?3. 请描述一次你印象深刻的旅行经历。
公务员面试热点:蚁族现象

材料:“蚁族”是指受过高等教育,却从事着保险推销、电子器材销售、广告营销、餐饮服务等临时性工作的大学毕业生们,他们主要居住在城乡接合部或近郊农村,绝大多数没有“三险”和劳动合同,月均收入低于2000元,年龄集中在22岁至29岁之间。
简而言之,就是“大学毕业生低收入聚居群体”。
“蚁族”已成为一种社会现象,如何合理安置好“蚁族”,让他们更好地生活,已受到越来越多人的关注。
大城市,该走还是该留?试题预测:你如何看待蚁族现象?思路分析:此题属于就现象谈看法类题目,京佳老师借助此题将给同学们详细解读现象看法类题目的分析思路和具体答法。
针对现象看法类题目,同学们要想答好需要做到以下几点:一是要尽可能多地去了解社会热点和焦点问题,尽可能去熟知内容,了解客观情况,掌握全面可靠的信息,这就为下面的分析问题打下基础和铺垫。
老师提醒同学们,限于空间和篇幅,所提供的材料往往是有限的,也许只是说明问题的局部现象和事例,同学们在考虑问题时不要受此限制,要学会扩展思维,对问题能够全面认识和通盘考虑,这样才能比较系统的认识问题、解决问题。
二是试着选取某个角度或多角度地去思考问题,比如个人与社会,宏观与微观,透过现象看到本质,超越现象表层,抽取和挖掘实质问题。
学会多角度地考虑问题,学会深度思维,在面面俱到的同时,也要进行纵深挖掘。
三是尽可能放开去谈,敢于表达自己的观点,不要怕说错,要相信自己的知识储备,敢于表达很重要。
能说话但不一定说得好,这就需要在语言组织上下功夫。
适当地引用一些出彩之言,为面试脱颖而出增加可能性。
所谓出彩,京佳老师认为,出彩不是生搬套用名言警句,不是机械引用华丽辞藻,而是运用近乎真实、真诚但一定要客观的语言,表达内心的感悟、感受,和考官分享理念,最终收获共识。
当然,要达到这个层次,就对考生的语言表达能力要求非常高了。
其实,运用最自然的往往也就是得分最高的。
如果同学们平时就能养成收集信息、了解信息、分析信息的好习惯,那么答题就会变得相对容易。
面试题蚂蚁爬竹竿

面试题蚂蚁爬竹竿问题描述求一个高度为 n 高度的竹竿上的所有蚂蚁的最小爬行时间。
蚂蚁在竹竿上每秒可以向上或向下爬一个单位高度,但是它们不能站在同一位置。
当两只蚂蚁碰面时,它们会立即转身朝相反方向爬行。
我们假设竹竿初始时的高度 h[1..n] = 0。
请设计一个算法来解决这个问题。
解题思路我们可以根据蚂蚁的行为特点进行分析。
1.首先,我们可以将蚂蚁的移动抽象为一个个时间点上的事件,例如每秒钟一个时间点。
我们可以在每个时间点上记录下每只蚂蚁的当前位置。
2.其次,我们可以观察到,当蚂蚁爬到竹竿的顶端或底端时,就会改变方向爬行,即蚂蚁从上往下爬的蚂蚁会变成从下往上爬,反之亦然。
3.最后,由于蚂蚁不能站在同一位置,所以当两只蚂蚁相遇时,它们会立即转身,而不是继续静止或交错经过。
基于这些观察,我们可以得出以下结论:1.对于每隔一个时间点的蚂蚁,它们的相遇事件只可能发生在竹竿的两端,在这个事件发生之前,它们一定是朝着相反方向移动的。
2.当蚂蚁相遇时,它们会立即交换方向。
根据上述分析,我们可以得出以下结论:1.对于一个给定的时间点,竹竿上的任意两只蚂蚁在这个时间点上只可能是相向而行的。
2.因此,在一个蚂蚁朝着同一个方向移动的时间段内,我们只需要考虑距离最近的蚂蚁即可。
具体的解题步骤如下:1.定义一个变量 minTime,用于记录蚂蚁的最小爬行时间。
2.对于给定的高度 n,假设有 m 只蚂蚁,我们只需要找到高度为 n/2的蚂蚁距离它最近的蚂蚁,计算出它们之间的距离,然后将这个距离乘以 2 得到最小爬行时间。
3.对于高度为 n/2 的蚂蚁,我们只需要找到距离它最近的蚂蚁,然后将这个距离乘以 2 得到最小爬行时间。
4.重复步骤 3,直到处理完所有的高度。
最后,minTime 就是蚂蚁的最小爬行时间。
代码实现```python def min_crawl_time(n): minTime = 0 mid = n // 2for i in range(mid + 1):minTime = max(minTime, i) # 蚂蚁从上往下爬minTime = max(minTime, n - i) # 蚂蚁从下往上爬minTime *= 2 # 乘以2得到最小爬行时间return minTime测试代码n = 10 print(f。
百度面试题关于蚂蚁问题

百度面试题-关于蚂蚁问题(Ants ) 之前看有的朋友谈之前看有的朋友谈百度的一道面试试题百度的一道面试试题-蚂蚁问题(有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。
木杆很细,不能同时通过一只蚂蚁。
开始时,蚂蚁的头朝左还是朝右是任意的,时通过一只蚂蚁。
开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,它们只会朝前走或调头,它们只会朝前走或调头,但不但不会后退。
当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。
两只蚂蚁会同时调头朝反方向走。
假设蚂蚁们每秒钟可以假设蚂蚁们每秒钟可以走一厘米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间)走一厘米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间) 关于这道题目,网上给出了很多的解释,但从整体来看,基本都是用到了等价置换(等量代换)的思想。
要求最小时间,即为“最不容易”到达两端的蚂蚁以最短的时间到达,所以我们只需找到所有蚂蚁中间的一只(共奇数只蚂蚁)或两只(共偶数只蚂蚁)我们只需找到所有蚂蚁中间的一只(共奇数只蚂蚁)或两只(共偶数只蚂蚁)到达一端的最到达一端的最短时间。
短时间。
比较麻烦的是求最长时间,有人会觉得当有很多只蚂蚁时,中间的蚂蚁们相互碰撞的次数多些会增加时间,感觉上比较复杂,可如果我们用等量代换的思想来解释就比较容易。
假设中间的任意两只相邻蚂蚁即将发生碰撞,如:A -> <-B ,当A ,B 发生碰撞后,便有<-A B ->。
A ,B 反向相当于<-B A A -> ,即二者继续向着原来的方向前进,对于任意相邻的发生碰撞的蚂蚁都适用,所以只需求最两端的两只蚂蚁距离两端的最远距离。
由以上分析可知,如果出这样的问题,我们可以不用通过程序便能说出结果:5个点,中间蚂蚁的位置为11,即0-11-27,显然最小为11,最两端蚂蚁,0-3-27,最大为24,0-23-27,最大为23,所以最大为24。
幼儿教资面试真题《小蚂蚁的家》

幼儿教资面试真题
1.题目:绘画活动《小蚂蚁的家》
2.内容:
(1)设计一个与主题相关的绘画活动。
(2)模拟面对幼儿进行互动,引导幼儿作画。
3.基本要求:
(1)根据需要进行绘画,要求绘画作品能突出活动场景,优美有童趣,有一定创意。
(2)请在10分钟内完成上述任务。
一、活动过程
(一)律动导入
(二)活动展开
1教师出示蚂蚁的图片,引导幼儿观察蚂蚁的形态。
(1)教师展示蚂蚁图片,引导幼儿观察并说出蚂蚁的外形特点。
师:小蚂蚁长什么样?它是由哪几个部分组成的?请小朋友们来说一说。
2.教师出示范画,初步感知油画棒与水粉颜料不相溶的现象,激发幼儿的兴趣
(1)教师范画,利用捉迷藏的游戏引起幼儿兴趣。
(2)教师展示用水粉颜料展现出小蚂蚁。
3.教师分发材料,引导幼儿根据自己的想象进行作画
(1)教师出示颜料,并讲解注意事项。
(2)教师根据幼儿的个体差异,进行针对性指导。
4.教师引导幼儿分享自己的作品
教师弓导幼儿根据绘画作品进行分享介绍,教师鼓励。
师:你的小蚂蚁住在什么地方?你用什么颜色来装饰了蚂蚁的家?
(三)活动结束
故事结束
教师组织幼儿利用自己的绘画为同伴讲述绘画故事。
二、活动延伸
回家把作品分享给爸爸妈妈看。
爱心蚂蚁面试问题

1、自我介绍:姓名,学校,专业,支教意向(地区),才艺,放假时间,
2、三个人设计一个儿童节计划,节目内容,如何分工,如何执行,会有哪些困难,如何解决。
三个人就此展开讨论。
10分钟以内完成,最后由一个代表做最后陈述
3、爱心蚂蚁志愿者:你在上课的过程中遇到一个小孩子在自己座位上脱裤子,你该如何去处理?时间一分钟。
由王婷婷,郭岩,操雅文依次回答
4、爱心蚂蚁志愿者:当你在支教期间,你的心理以及身体都已经忍耐到你认为的极限了,这时候你会怎么处理?包括对自己对队员和对孩子三个方面!本问题回答不分先后,时间一分钟
5、支教过程中,将志愿者分成几个小组,每天轮流值日做饭,你们三个人分在一个小组,如何确定今天的伙食安排?(提示:志愿者不同的口味,菜系,经济条件,怎么去买菜,谁负责,怎么协调,等等问题)。
本问题由你们三人共同完成,讨论时间在8分钟以内完成。
最后,推荐一个人作完整的陈述,陈述时间2分钟。
现在开始讨论作答。
6、爱心蚂蚁志愿者:如果发生在你身上的事情是你平时不能接受的,比如在帐篷里住一个月,每天都是潮湿的环境啊,或者每天小孩子都惹你不开心啊!你会不会抱怨?为什么?以及你如何看待别人在你面前的抱怨,请根据自己的情况来回答。
7、问题:你们是否和自己的家长沟通过自己的支教想法?他们是否
支持?本次活动的经费全部AA支付,你们是否有一定的经济承受能力,除了向家里要钱,你们还有什么方式为自己的暑期计划做经济上的支持?你们是否知道支教所潜在的社会风险和自然风险(车祸,地震等),这些意外事件可能带来的后果你们是否知道,伤残?死亡?被骗?……
8、你对我们的面试有什么意见和建议?如实回答可以加分喔。
生物工程面试题答案

生物工程面试题答案一、请你介绍一下自己与招聘岗位相关的学习经历和工作经历【评分参考】【好】能够准确、流畅、清楚、简洁地阐述相关学习经历和工作经历。
【中】言语表达一般,条理基本分明,基本能够阐述自己相关的学习经历和工作经历。
【差】说话吞吐,言语表达不清,不能阐述自己相关的学习经历和工作经历。
二、在火灾时,有一种蚂蚁会滚成一团,逃出危险,对你有什么启示【评分参考】【好】能够准确、流畅、清楚、简洁地阐述下述观点。
【中】言语表达一般,条理基本分明,基本能够阐述下述观点。
【差】说话吞吐,言语表达不清,不能阐述下述观点。
1、蚂蚁在火灾中抱成一团逃生,给我们以深刻的启示。
(1)从群体看,蚂蚁在危急时刻能够互相协作,紧密团结,拯救群体,这是一种集体凝聚的力量,说明只要一个集体团结协作,它可以发挥非凡的能量,做出惊人的成绩。
(2)从个体看,每个蚂蚁在关键时刻都能够遵照群体的利益自动抱合在一起,即便在大火中丧生也不四散逃跑,也象征了一种集体主义的奉献精神。
2、蚂蚁虽小,故事的意义却很大。
它给我们两方面重要的启示。
一是一个集体无论工作还是学习都必须构建起团结协作、互相帮助的氛围,成员间要互相信任、爱护,在危急时刻能够凝聚力量,往往会比单个人分散行动更有力量,克服困难,突破难关。
这就需要团队的管理者在日常生活中善于管理沟通,善于组织起整个团队,形成良好的团队氛围。
二是作为一个团队的成员,要有大公无私的奉献精神,要懂得团队的利益高于个人利益,随时准备好为团队利益牺牲小我、成全大我。
这两个要素相辅相成,是一个团队理想的目标。
3、这个道理特别适用于我们的公务员队伍。
公务员是一个组织纪律性很强的职业,一方面需要和同事团结协作发挥出集体的力量,认真服从领导完成本职工作,一方面需要有为单位、为群众献身的精神,不能过分计较个人利弊得失。
只有抱有这样的心态,踏实认真地完成自己的工作,一个公务员才能真正做到让领导放心、同事信任、群众满意,才能真正实现自己的价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
百度面试题-关于蚂蚁问题(Ants)
之前看有的朋友谈百度的一道面试试题-蚂蚁问题(有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。
木杆很细,不能同时通过一只蚂蚁。
开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。
当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。
假设蚂蚁们每秒钟可以走一厘米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间)关于这道题目,网上给出了很多的解释,但从整体来看,基本都是用到了等价置换(等量代换)的思想。
要求最小时间,即为“最不容易”到达两端的蚂蚁以最短的时间到达,所以我们只需找到所有蚂蚁中间的一只(共奇数只蚂蚁)或两只(共偶数只蚂蚁)到达一端的最短时间。
比较麻烦的是求最长时间,有人会觉得当有很多只蚂蚁时,中间的蚂蚁们相互碰撞的次数多些会增加时间,感觉上比较复杂,可如果我们用等量代换的思想来解释就比较容易。
假设中间的任意两只相邻蚂蚁即将发生碰撞,如:A -> <-B,当A,B发生碰撞后,便有<-A B->。
A,B反向相当于<-B A -> ,即二者继续向着原来的方向前进,对于任意相邻的发生碰撞的蚂蚁都适用,所以只需求最两端的两只蚂蚁距离两端的最远距离。
由以上分析可知,如果出这样的问题,我们可以不用通过程序便能说出结果:5个点,中间蚂蚁的位置为11,即0-11-27,显然最小为11,最两端蚂蚁,0-3-27,最大为24,0
-23-27,最大为23,所以最大为24。
对于这个题,给出如下Java代码(随便写了几句,不符合面向对象思想)。
public class Ant {
public static void main(String[] args){
int length=27,points=5,min=0,max=0,temp_min=0,temp_max=0;
int[] pos={3,7,11,17,23};
for(int i: pos){
temp_min=i>length-i?length-i:i;
temp_max=i<length-i?length-i:i;
if(temp_min>min)
min=temp_min;
if(temp_max>max)
max=temp_max;
}
System.out.println("最短时间:"+min+" 最长时间:"+max);
}
}
有了如上的想法,我们能做出判断,为什么还要写代码呢?
其实这个问题出自Waterloo Local Contest Sep.19,2004 准确描述如下:
An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/ s. When a walking ant reaches an end of the pole, it immediatelly falls off it. When two ants m eet they turn back and start walking in opposite directions. We know the original positions of a nts on the pole, unfortunately, we do not know the directions in which the ants are walking. Yo ur task is to compute the earliest and the latest possible times needed for all ants to fall off th e pole.
The first line of input contains one integer giving the number of cases that follow. The data fo r each case start with two integer numbers: the length of the pole (in cm) and n, the number o f ants residing on the pole. These two numbers are followed by n integers giving the positio
n of each ant on the pole as the distance measured from the left end of the pole, in no particul ar order. All input integers are not bigger than 1000000 and they are separated by whitespac e.
For each case of input, output two numbers separated by a single space. The first number is t he earliest possible time when all ants fall off the pole (if the directions of their walks are chos en appropriately) and the second number is the latest possible such time.
Sample Input
2
10 3
2 6 7
214 7
11 12 7 13 176 23 191
Sample Output
4 8
38 207
在这里给出相应的c++代码:
#include<iostream>
using namespace std;
int main()
{
int cases,l,n,min,max,temp_min,temp_max,pos;
cin>>cases;
while(cases--)
{
cin>>l>>n;
min=0;
max=0;
while(n--)
{
cin>>pos;
temp_min=pos>l-pos?l-pos:pos;
temp_max=pos<l-pos?l-pos:pos;
if(temp_min>min)
min=temp_min;
if(temp_max>max)
max=temp_max;
}
cout<<min<<' '<<max<<endl;
}
return 0;
}
评论
# re: 关于蚂蚁问题(Ants)
确实是这样,我们可以想象成它们碰撞后并没有反向而是继续直着向前走:)
漠漠评论于2008-05-10 13:29
# re: 关于蚂蚁问题(Ants)
楼主这个想法非常的好,打满分。
下面用数学归纳法证明一下这个算法。
让我们先来看最简单的形式(m=1),有两只蚂蚁的情况,假设细木杆的长度为n,两只蚂蚁的位置分别为p1和p2。
并且p2 > p1。
其他的条件如原题。
下面分别用p1和p2来代表两只蚂蚁。
对于两只蚂蚁,方向组合只有四种,分别如下:
1. p1、p2都向左最长时间:time(p2)
2. p1、p2都向右最长时间:time(p1)
3. p1向左、p2向右最长时间:max(time(p1), time(n - p2))
4. p1向右、p2向左(这种情况会发生碰撞)最长时间:max(time(n - p1), time(p2))
对于这种情况,实际上p2的时间为time(((p2 - p1) / 2 ) * 2 + n - p2 )= time(n - p1)
p1的时间为time(((p2 - p1) / 2 ) * 2 + p1) = time(p2),
从最终结果看,A- >, < -B 就相当于< -B , A - >相当于A、B互相穿越而过,并且B只走到A最初的位置,而A也只走到B最初的位置。
从上面四种情况的最长时间可看出,正好将两种蚂蚁p1和p2可能存在的的四种可能:p1、p2、n - p1、n-p2 。
我们要做的就是求这四个值的最大值,即max(time(p1)、time(p2)、time(n - p1)、time(n-p2))。
如果用文字来描述的话,就是任意一只蚂蚁到达两端的最长时间就是最终结果。
最简单的情况已经ok了,现在假设m只蚂蚁也成立,那么这m只蚂蚁也可以看成是一只蚂蚁,而m+1只蚂蚁当然就相当于两只蚂蚁了。
所以
m = 1 成立
假设m成立
而证明了m+1也成立
所以“任意一只蚂蚁到达两端的最长时间就是最终结果”的结论成立。