SQYBI.com

Change is a part of life, and takes part in finding us who we are.

2009年05月25日
by sqybi
11 Comments

交大ACM队机试结束

题目很恶心,7水+2难.结果就是N多人都是7道题,7道题主流啊...qujun这种做了7道题结果因为全场最水的G题看错题而排名靠后的就悲剧了... A题,给出C个字母,要求输出由这些字母所有满足下列条件的字符串:所有字母升序排列,每个字母只用一次,长度为L(L<=15),单词里至少有一个元音两个辅音. 这道题因为刚开始状态不太好卡了一会儿,不过最后还是比较顺利的搞出来了. B题,给一个01矩阵,问有几个连通块(只有上下左右连通才算). 简单的BFS. C题,给一个5*5的数字矩阵,从任意一点开始每一次向上下左右的任意一个方向走一步,可以走重复的格子,经过6个格子之后会得到一个六位数.问总共可能得到多少个不同的六位数. 纯搜索. D题,题目描述比较恶心,反正就是给你一堆矩形叠在一起的影子,问最少多少个矩形能够叠出这样的影子.所有矩形都是放在地面上的. 用链表维护一下就行,题目稍微长一些,但是很简单.第一次写写错了,写的算法和想的算法不是一个...走神了啊.不过还好,后来改对了. E题,有N头牛,每头牛都有一个强壮指数和重量.现在把它们按照某个顺序叠起来,每头牛计算一个上面所有牛的重量之和(不包括自己)减去它的强壮指数,问如何所有牛的这个值的最大值尽量小,输出这个最小的最大值. 刚开始还以为是二分答案,后来想到了贪心是把重量和强壮指数加起来,大的放在底下,但是没法证明,第一次submit还错了.后来发现第一头牛的这个值应该是负的自己的强壮指数,改了再交就过了.但是没完整地证明出来(只证明了三头牛是正确的). F题,给定函数f(a),计算方法是:把a的最后一位挪到第一位前面,然后平方,再把结果的第一位挪到最后一位后面.问第N个满足条件f(a)=a^2的a是多少. 写个暴力找下规律,就可以发现是1,2,3,21,221,2221,22221...于是直接输出就可以了. G题,全场最水的一道题.就是给定N个点,两个点之间有个某某概率为1/sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2+1),问最后一个点和前面所有点分别算这个概率,最大的一个概率是多少. 只需要把最后一个点和前面所有点的概率分别算出来然后找个最大的就行了...很可惜,因为是个人赛,所以没办法刚开始就看完所有题...基本上每个人都是最后才做出这道题的.还有很多看错题,求了所有点对之间的...那些人很悲剧... 然后是两道不可做题. H题,要求求出一个序列{a_n},满足sigma(i=1~n)a_i=x,sigma(i=1~n)a_i^p=y,而且sigma(i=1~n)a_i^q尽量小.输出这个最小值. 数论题,我是直接放掉了... G题,给一个有向无环图,给四个点abcd,四个点的编号都不同,从a到c和从b到d可以找到一对不相交路径(就是没有公共点),问这样的路径对有多少种. 这道题写了个暴力交上去,然后眼睁睁的看着前面的judge拿我的程序跑,大概在第三个点TLE了...然后给我return了一个TLE...于是就再也没想出来... 大概就是这样,题还是很水的了.最后排在所有人的第13名,比笔试退后了两名...不过据说这次又会有N多人晋级面试,唉...