总结:WHUACM 2007暑假招新笔试(附原题,有许多经典的面试题目)

我的总结 

 从上次校赛后就没有关注ACM了。昨天被漠北叫去参加集训队补选,考虑到自己暑假还没有明确的安排就去了。做题的时候很困——没有睡午觉,处于不清醒状态,答题比较马虎,最后得了62分,自己事后想起来觉得做得很糟糕。

下面是简略的总结——

第一题:选修课人工智能老师朱福喜教授讲过。貌似是李开复面试微软的题,很有名气。

当时我想了十来分钟,昨天直接写的答案。

 第二题:数学题。没什么好说的——不过好像鄙人又算错了,鄙视自己的计算能力呀!

 第三题:小学时候见过的题目,那时候不知道做。初中就会了。

 第四题:不知道标准答案是什么,不过偶觉得是组合数学题。

 第五题:很有趣的题目。不过去年KO大牛讲过一些智力题目后,我就不是很怕这种题目了。

 第六题:GOOGLE的面试题目。在下原来在程序员上看过——当初没想出来(杂志上原来有答案,今天才知道),不过今年校赛的时候我想出来了——但是校赛的那个题目明显复杂多了,我现在还在思考中。可见故意提高题目难度可以帮助大脑思考!!

 第七题:考得很偏,我不会做,于是在题目上划了个问号。回来敲来试了下,原来是whuacm!狂倒。

 第八题:怎么做?我没想到好的方法。

第九题:有很多可圈可点的东西,不过除strlen那个点之外,大家还是不要知道其他的好,从其它的点上可以看出ICPC对程序效率的追求真的有点过头。

第十题:考的是计算机基础,关于进制的,我当时肯定做对了,不过貌似考虑得复杂了,写了些多余的东西。

附:WHUACM 2007暑假招新笔试

回答下列问题:(每题10分)

1.         有两根不均匀的绳子和一盒火柴,烧完每根绳子需要1小时,就用这些物品,你怎样确定45分钟?

2.       计算200717 mod 2000

3.       你让某些人为你工作了七天,你要用一根金条作为报酬。你必须在每天的活干完后交给他们七分之一块.如果你只能将这根金条切割两次(也就是切成3份),你怎样给这些工人分?

4.       n个苹果放入m个篮子里,苹果和篮子都没有区别,篮子可以为空,有多少种方法?你不必求出具体公式,写出怎样计算答案即可,当然,算得越快越好。

5.       一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却不知自己的。主持人先让大家看看别人头上戴的什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?

6.       有一幢100层高的大厦,给你两个完全相同的玻璃围棋子。假设从某一层开始,丢下玻璃棋子就会摔碎。那么怎么利用手中的两颗棋子,用一种什么样的最优策略,知道这个临界的层高呢?

7.       阅读下面的程序,写出输出结果(输入的/n表示回车):

#include

#include

int main() {

char s[100];

scanf("%[^/n]",s);

printf("%s/n",s);

return 0;

}

输入whuacm/n2007/n

8.       有一个数列fn,其中f0=0f1=1fn=fn-1+fn-2,(n>=2),编程求fn mod k

输入:两个正整数nk(符合32-bit signed int

输出:一个整数,fn mod k的值

9.       阅读下面两段代码,比较它们的优劣,并说说你对这两段代码的看法。


//Code a

int i;

for (i=0;i

    //do something

}

//Code b

for (int i=0;s[i];i++) {

    //do something

}


10.   n!在b进制表示下末尾有多少个0(n>=0b>=2)给出算法及正确性证明。

你可能感兴趣的:(集训日志,Algorithms)