摘要: 一根长度为 L 厘米的木棍上有 n 只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为 1 厘米/秒。当两只蚂蚁相撞时,二者同时调头(掉头用的时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算 T 秒之后每只蚂蚁的位置。 由于掉头用的时间可以忽略不计,所以可以直接看做两只蚂蚁对穿而过。于是可以很开心的直接把坐标按照方向进行加 / 减的处理。得到某只蚂蚁的最终坐标。 把棍子拉为无限长,... 阅读全文
posted @ 2013-07-22 14:15 ~無痕~ 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 在一个周长为 10000 的圆上等距分布着 n 个雕塑。现在又有 m 个新雕塑加入(位置可以随意摆放),希望所有 n + m 个雕塑能在圆周上均匀分布。这就需要移动一些原有的雕塑。要求 n 个雕塑移动的总距离最小。 因为是均匀分布,所以如果在摆放好所有的雕塑之后,统一移动相同的距离依旧是均匀分布的,所以这题可以先把某一个雕塑当做原点固定不动。并将这个墓碑的距离设置为0。 之后利用... 阅读全文
posted @ 2013-07-20 21:33 ~無痕~ 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 圆桌旁坐着 n 个人,每个人都有一定数量的金币,金币总数能够被 n 整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值,比如 n = 4, 且 4 个人的金币数量分别为 1, 2, 5, 4 时,只需要转移 4 枚金币(第 3 个人给第 2 个人两枚,第 2 个人和第 4 个人分别给第 1 个人1 枚金币)即可实现每个人手中的金币数目相等。假定 1 号给了 2 号 4 枚金币,而 2 号给了 1 号 1 枚金币,这样等同于 1 号给了 2 号 3 枚金币,而 2 号没有给 1 号金币。用 X2 表示 2 号给 1 号的金币数目,以此类 阅读全文
posted @ 2013-07-20 17:13 ~無痕~ 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 你有 n 个部下,每个部下需要完成一个任务。第 i 个部下需要你花 Bi 分钟交待任务,然后他会立刻独立地、无间断地执行 Ji 分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务尽早结束)。注意,不能同时给两个部下交待任务,但部下们可以同时执行他们各自的任务。 既然是要尽早完成任务,当然执行时间长的先交待,先执行。所以对所有数据按执行时间从大到小的... 阅读全文
posted @ 2013-07-20 15:49 ~無痕~ 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(也就是砍掉所有的头)。村里有m个骑士可以雇佣,一个能力值为 x 的骑士可以砍掉恶龙一个直径不超过 x 的头,且需要支付 x 个金币。如何雇佣骑士才能砍掉恶龙所有的头,并且支付最小的金币?注意,一个骑士只能砍一个头并且仅能被雇佣1次 因为要保证用的钱最少,所以先把骑士按照能力值从小到大进行排序。然后从最小的开始一个一个进行匹配。在进... 阅读全文
posted @ 2013-07-20 14:15 ~無痕~ 阅读(623) 评论(0) 推荐(0) 编辑
摘要: (先吐个槽:原文前面都是废话Orz) 题目的大概意思是给你一串数字编码,先两两相减( b[1] = a[2] – a[1],如果a[2] b[j + k],所以 i 移动 k + 1位。此时 i = 2, j = 1, k = 0 继续下一轮: 这次是b[i + k] 2: #include 3: #include 4: #inc... 阅读全文
posted @ 2013-07-19 17:55 ~無痕~ 阅读(674) 评论(0) 推荐(1) 编辑
摘要: 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多... 阅读全文
posted @ 2013-07-19 16:40 ~無痕~ 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这道题目的意思是:一开始有一个数字 1 ,在接下来的时间中,计算机会按照如下规则进行扩展: 0 –> 1 0 1 –> 0 1 求n秒之后,有多少对相邻的0。 例如1 0 0 1有 1 对相邻的0. 这道题目是一道规律题,可以直接例举前面的数据得到规律: 0 0 1 1 3 5 11 21 43 85 ... 阅读全文
posted @ 2013-07-19 16:33 ~無痕~ 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 我个人编程一向喜欢偷懒,每次刷题的时候,总要用memset一个一个的清空数组,烦死了。于是我定义了一个宏 1: #define Clean(x) memset(x, 0, sizeof(x))来处理这个问题,但是数组多起来就麻烦了。(欸,我是有多懒 Orz)于是想到可以用可变参数的函数来解决,如下: 1: #include 2: #define... 阅读全文
posted @ 2013-07-19 13:56 ~無痕~ 阅读(360) 评论(2) 推荐(0) 编辑
摘要: 看到这题之后第一反应是数塔,但是和数塔有区别,数塔的时间间隔是看做1的,而这道题是不确定的。 题目的大概意思是:有m 个馅饼从天上掉下来,问最多能拿多少个馅饼。 首先,起点在5,每秒只能左 / 右移动一格。因此,第一秒的时候,可以到达的位置是4, 5, 6。第二秒是3, 4, 5, 6, 7。依次类推,直到可以到达0 ~ 10 所有位置。此后的步骤就和数塔类似了,只要注... 阅读全文
posted @ 2013-07-18 22:09 ~無痕~ 阅读(482) 评论(0) 推荐(0) 编辑