求问:北航计算机专业有没有北航保研夏令营营

查看: 4212|回复: 0
UID567965金元宝35943 积分 在线时间65535 小时最后登录阅读权限201
金元宝35943 积分 帖子注册时间
北航有没有保研夏令营
& && && && &我来帮他解答
& && && && && &
& && && && && & NBF考研包过班建议:(来自于百度)
& && &&&赞同
考研论坛九周年庆
考研论坛九周年庆
NBF祝您考研必胜
NBF祝您考研必胜
知识宝库考研社区八周年庆
知识宝库考研社区八周年庆
知识宝库考研社区七周年庆
知识宝库考研社区七周年庆
知识宝库考研社区六周年庆
知识宝库考研社区六周年庆
天道酬勤勋章
天道酬勤勋章
飞龙在天勋章
飞龙在天勋章
知识宝库考研社区五周年
知识宝库考研社区五周年庆
Powered by我是流氓,我怕谁!
A:人民币支付
总时间限制: 1000ms 内存限制: 65536kB
从键盘输入一指定金额(以元为单位,如345),然后输出支付该金额的各种面额的人民币数量,显示100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票。
一个小于1000的正整数。
输出分行,每行显示一个整数,从上到下分别表示100元,50元,20元,10元,5元,1元人民币的张数
这题太水,直接贴代码。
1 #include &iostream&
2 #include &stdio.h&
5 using namespace
7 int coun[6]={0};
8 int main()
scanf("%d",&n);
while(n!=0)
coun[0] = n/100;
n = n%100;
coun[1] = n/50;
coun[2] = n/20;
coun[3] = n/10;
coun[4] = n/5;
coun[5] = n/1;
for(int i = 0;i&6;i++)
printf("%d\n",coun[i]);
B:排队游戏
总时间限制: 1000ms 内存限制: 65536kB
在幼儿园中,老师安排小朋友做一个排队的游戏。首先老师精心的把数目相同的小男孩和小女孩编排在一个队列中,每个小孩按其在队列中的位置发给一个编号(编 号从0开始)。然后老师告诉小朋友们,站在前边的小男孩可以和他后边相邻的小女孩手拉手离开队列,剩余的小朋友重新站拢,再按前后相邻的小男孩小女孩手拉 手离开队列游戏,如此往复。由于教师精心的安排,恰好可以保证每两个小朋友都能手拉手离开队列,并且最后离开的两个小朋友是编号最小的和最大的两个小朋 友。(注:只有小男孩在前,小女孩在后,且他们两之间没有其他的小朋友,他们才能手拉手离开队列)。请根据老师的排队,按小女孩编号从小到大的顺序,给出 所有手拉手离开队列的小男孩和小女孩的编号对。
用一个字符串代表小朋友队列。字符串中只会出现两个字符,分别代表小男孩和小女孩,首先出现的字符代表小男孩,另一个字符代表小女孩。小孩总数不超过100
按小女孩编号顺序,顺序输出手拉手离开队列的小男孩和小女孩的编号对,每行一对编号,编号之间用一个空格分隔。
((()(())())(()))
这题坑的地方主要在于测试数据用的是左右括号,让人误以为男生用左括号表示,而女生用右括号表示,仔细看题的话,这题也很水。
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
6 int m[200]={0};
7 char femal,
8 int main()
bool flag=true;
while(cin.get(c))
if(c=='\n')
flag=false;
else if(c!=mal)
if(c==mal)
else if(c==femal)
for(int j=0;j&i/2;j++)
int a=0,b=0;
for(int k=0;k&i;k++)
if(m[k]==1)
else if(m[k]==2)
printf("%d %d\n",a,b);
C:取石子游戏
总时间限制: 1000ms 内存限制: 65536kB
有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢.
比如初始的时候两堆石子的数目是25和7
最后选手1(先取的)获胜,在取的过程中选手2都只有唯一的一种取法。
给定初始时石子的数目,如果两个人都采取最优策略,请问先手能否获胜。
输入包含多数数据。每组数据一行,包含两个正整数a和b,表示初始时石子的数目。
输入以两个0表示结束。
如果先手胜,输出"win",否则输出"lose"
假设石子数目为(a,b)且a &= b,如果[a/b] &= 2则先手必胜,如果[a/b]&2,那么先手只有唯一的一种取法.
[a/b]表示a除以b取整后的值.
这题我还不知道我错在哪儿,有提示的情况下,按道理来说很水啊。
下面代码为WA代码,知道错误的童鞋求指出。。。这题考试时候花了半个小时。。。无语死了。。。结果还是没A
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
6 int a,b;
7 int main()
while(cin&&a&&b)
if(a==0&&b==0)
int flag=1;
if(a&=b*2)
else if(b&=a*2)
else if(a==b)
if(flag==1)
cout&&"win"&&
else if(flag==0)
cout&&"lose"&&
D:去除C程序中的注释
总时间限制: 1000ms 内存限制: 65536kB
C程序的注释用/*...*/来表示。请写一个程序,将输入的C程序源代码中的注释去掉,输出去掉注释之后的源代码。
用于测试的C代码保证符合语法,不使用C++的//注释语法。
注意,C语言不允许出现嵌套注释。具体来说,对于/*/**/"*/",如果不允许嵌套注释,那么它表示字符串"*/";如果允许嵌套注释,它表示一个引号"。
还请注意,字符串中出现的注释符/*属于字符串的一部分,注释中出现的双引号"属于注释的一部分。
符合语法的C代码文本文件。代码每行不超过200个字符。
去掉注释后的C代码。要求只能去掉注释,不可以做其他的修改,比如调整缩进,去除注释之外的换行符等。
#include &stdio.h&
#include &time.h&
#include &stdlib.h&
/*Hash Search:
Hash function:
handling collisions: open addressing's linear probing.
In this exercise, M is the basic area's length, all keys are non negative integers.*/
#define M 11
int hash(int key)
return key % M;
void init_hash(int* hashtable)
for(i = 0; i & M; ++i)
hashtable[i] = -1;
/*return value:
1:found, *position is the key'
0:not found, *position is whe
-1:overflow. */
int search_hash(int* hashtable, int key, int* position)
int i, h = hash(key);
for(i = 0; i & M; ++i)
if(key == hashtable[h])
*position =
if(-1 == hashtable[h])
*position =
h = (h+1) % M;
*position = -1;
return -1;
/*return value: 1:inserted, 0:overflow*/
int insert_hash(int* hashtable, int key)
int position,
result = search_hash(hashtable, key, &position);
if(-1 == result)
hashtable[position] =
void main()
int hashtable[M];
init_hash(hashtable);
srand(time(NULL));
for(i = 0; i & 8; ++i)
/*make a hash table with 8 elements*/
key = rand() % 50;
insert_hash(hashtable, key);
printf("Insert %d\n", key);
for(j = 0; j & M; ++j)
printf("%3d", hashtable[j]);
printf("\n");
printf("Please input the key to search:\n");
scanf("%d", &key);
i = search_hash(hashtable, key, &j);
if(1 == i)
printf("Found!Its index is %d\n", j);
printf("Not found!\n");
#include &stdio.h&
#include &time.h&
#include &stdlib.h&
#define M 11
int hash(int key)
return key % M;
void init_hash(int* hashtable)
for(i = 0; i & M; ++i)
hashtable[i] = -1;
int search_hash(int* hashtable, int key, int* position)
int i, h = hash(key);
for(i = 0; i & M; ++i)
if(key == hashtable[h])
*position =
if(-1 == hashtable[h])
*position =
h = (h+1) % M;
*position = -1;
return -1;
int insert_hash(int* hashtable, int key)
int position,
result = search_hash(hashtable, key, &position);
if(-1 == result)
hashtable[position] =
void main()
int hashtable[M];
init_hash(hashtable);
srand(time(NULL));
for(i = 0; i & 8; ++i)
key = rand() % 50;
insert_hash(hashtable, key);
printf("Insert %d\n", key);
for(j = 0; j & M; ++j)
printf("%3d", hashtable[j]);
printf("\n");
printf("Please input the key to search:\n");
scanf("%d", &key);
i = search_hash(hashtable, key, &j);
if(1 == i)
printf("Found!Its index is %d\n", j);
printf("Not found!\n");
注意字符串,字符,转义字符的情况。
看看自己有没有考虑
"a\"/*ccc*/"
这种情况。
重点就在提示处,注意引号、注释符、以及转义符就OK,我当时做的时候没有看到提示,卧槽。。。
AC代码在下面
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
6 char s[202]={0};
7 bool flag=true,f=true,t=true;
8 int main()
while(cin.getline(s,200))
for(int i=0;s[i]!='\0';i++)
if(flag==true&&(s[i]!='/'||s[i+1]!='*'))
printf("%c",s[i]);
if(s[i]=='\\'&&t==true)
t = false;
else if(s[i]=='\"')
if(f==true)
if(t==false)
else if( flag==true &&f==true)
flag=false;
else if(flag==true &&f==false)
printf("%c",s[i]);
else if(flag == false)
if(!(s[i-1]=='*'&&s[i]=='/'))
flag=true;
if(flag==true)
printf("\n");
E:求逆序对数
总时间限制: 500ms 内存限制: 65536kB
对于一个长度为N的整数序列A,满足i & j 且 Ai & Aj.的数对(i,j)称为整数序列A的一个逆序
请求出整数序列A的所有逆序对个数
输入包含多组测试数据,每组测试数据有两行
第一行为整数N(1 &= N &= 20000),当输入0时结束
第二行为N个整数,表示长为N的整数序列
每组数据对应一行,输出逆序对的个数
貌似维护一个递减链表可以解。当时并未做出
F:Battle City
总时间限制: 1000ms 内存限制: 65536kB
Many of us had played the game "Battle city" in our childhood, and some people (like me) even often play it on computer now.
What we are discussing is a simple edition of this game. Given a map that consists of empty spaces, rivers, steel walls and brick walls only. Your task is to get a bonus as soon as possible suppose that no enemies will disturb you (See the following picture).
Your tank can't move through rivers or walls, but it can destroy brick walls by shooting. A brick wall will be turned into empty spaces when you hit it, however, if your shot hit a steel wall, there will be no damage to the wall. In each of your turns, you can choose to move to a neighboring (4 directions, not 8) empty space, or shoot in one of the four directions without a move. The shot will go ahead in that direction, until it go out of the map or hit a wall. If the shot hits a brick wall, the wall will disappear (i.e., in this turn). Well, given the description of a map, the positions of your tank and the target, how many turns will you take at least to arrive there?
The input consists of several test cases. The first line of each test case contains two integers M and N (2 &= M, N &= 300). Each of the following M lines contains N uppercase letters, each of which is one of 'Y' (you), 'T' (target), 'S' (steel wall), 'B' (brick wall), 'R' (river) and 'E' (empty space). Both 'Y' and 'T' appear only once. A test case of M = N = 0 indicates the end of input, and should not be processed.
For each test case, please output the turns you take at least in a separate line. If you can't arrive at the target, output "-1" instead.
G:Charm Bracelet
总时间限制: 1000ms 内存限制: 65536kB
Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N(1 & N& 3,402) available charms. Each charm iin the supplied list has a weight Wi(1 & Wi& 400), a 'desirability' factor Di(1 & Di& 100), and can be used at most once. Bessie can only support a charm bracelet whose weight is no more than M(1 & M& 12,880).
Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the maximum possible sum of ratings.
Line 1: Two space-separated integers: N and M
Lines 2..N+1: Line i+1 describes charm i with two space-separated integers: Wi and Di
Line 1: A single integer that is the greatest sum of charm desirabilities that can be achieved given the weight constraints
简单零一背包问题,很水。
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
5 int n,m;
6 int d[20000]={0};
7 int main()
scanf("%d %d",&n,&m);
for(int i=0;i&n;i++)
scanf("%d %d",&a,&b);
for(int j=m;j&=a;j--)
if(d[j]&=d[j-a]+b)
d[j] = d[j-a]+b;
printf("%d\n",d[m]);
H:Binary Tree
总时间限制: 1000ms 内存限制: 65536kB
Background
Binary trees are a common data structure in computer science. In this problem we will look at an infinite binary tree where the nodes contain a pair of integers. The tree is constructed like this:
The root contains the pair (1, 1).
If a node contains (a, b) then its left child contains (a + b, b) and its right child (a, a + b)
Given the contents (a, b) of some node of the binary tree described above, suppose you are walking from the root of the tree to the given node along the shortest possible path. Can you find out how often you have to go to a left child and how often to a right child?
The first line contains the number of scenarios.
Every scenario consists of a single line containing two integers i and j (1 &= i, j &= 2*109) that represent
a node (i, j). You can assume that this is a valid node in the binary tree described above.
The output for every scenario begins with a line containing "Scenario #i:", where i is the number of the scenario starting at 1. Then print a single line containing two numbers l and r separated by a single space, where l is how often you have to go left and r is how often you have to go right when traversing the tree from the root to the node given in the input. Print an empty line after every scenario.
Scenario #1:
Scenario #2:
Scenario #3:
这道题很水,就是注意到一个值为1的时候的情况而已,并非直接取模。其他方面的话,这题也没什么难的。
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
6 int l=0,r=0;
7 void work(int a,int b)
if(a==1&&b==1)
else if(a&b)
37 int main()
scanf("%d",&n);
int count = 1;
while(n--)
scanf("%d %d",&a,&b);
work(a,b);
printf("Scenario #%d:\n%d %d\n\n",count,l,r);
I:宝昌县长要修路
总时间限制: 1000ms 内存限制: 10000kB
宝昌县长意气风发,他决定整修之前县里的道路。县里的道路很多,但维护费用昂贵。具体如图A所示。线段上面的数据表示两个节点之间的所需要的维修费用,现在需要对乡村进行道路优化,最基本的要求是将所有的村庄节点都要联通起来,并且要求每月的维护费用最小。比如优化后的图如B所示。
第一行只包含一个表示村庄个数的数n,n不大于26,并且这n个村庄是由大写字母表里的前n个字母表示。接下来的n-1行是由字母表的前n-1个字母开头。最后一个村庄表示的字母不用输入。对于每一行,以每个村庄表示的字母开头,然后后面跟着一个数字,表示有多少条道路可以从这个村到后面字母表中的村庄。如果k是大于0,表示该行后面会表示k条道路的k个数据。每条道路的数据是由表示连接到另一端村庄的字母和每月维修该道路的花费组成。维修费用是正整数的并且小于100。该行的所有数据字段分隔单一空白。该公路网将始终连接所有的村庄。该公路网将永远不会超过75条道路。没有任何一个村庄会有超过15条的道路连接到其他村庄(之前或之后的字母)。在下面的示例输入,数据是与上面的地图相一致的。
输出是一个整数,表示每个数据集中每月维持道路系统连接到所有村庄所花费的最低成本。
A 2 B 12 I 25
B 3 C 10 H 40 I 8
C 2 D 18 G 55
E 2 F 60 G 38
考虑看成最小生成树问题,注意输入表示。
就是简单的求最小生成树而已,本题也很水,只要熟悉最小生成树的代码,这题也绝壁轻松AC
1 #include &iostream&
2 #include &stdio.h&
4 using namespace
5 int d[27][27]={0};
7 const int MAX=10000;
8 int s[27]={0};
9 int flag[27]={0};
10 int main()
for(int i=0;i&n;i++)
for(int j=0;j&n;j++)
d[i][j] =MAX;
for(int i=0;i&n-1;i++)
for(int j=0;j&k;j++)
if(d[c-'A'][a-'A'] &dis && d[a-'A'][c-'A'] &dis)
d[c-'A'][a-'A']=
d[a-'A'][c-'A']=
int sum=0;
flag[0] = 1;
for(int i=0;i&n;i++)
s[i] = d[0][i];
for(int i=0;i&n-1;i++)
int m= MAX;
for(int j=0;j&n;j++)
if(flag[j]==0&&s[j]&m)
flag[num] = 1;
for(int j=0;j&n;j++)
if(s[j] & d[num][j])
s[j] = d[num][j];
cout&&sum&&
最后那个J题就是纯扯淡了。。。根本不用看,考试的那点儿时间绝壁做不出。
里面有几道没贴AC代码的,改天A掉之后贴出。
阅读(...) 评论()点击上方关注 “保研论坛”,了解保研最新资讯!基本情况某985学校软件工程专业,综合排名1/302,专业排名2/302,四六级飘过(申请夏令营和联系导师时六级没过),担任过国家级大创项目负责人,数学建模省赛一等奖,一项软件著作权,水过4篇EI论文,两年国家奖学金以及其他乱七八糟的荣誉。保研过程我保研准备的比较晚,大三下学期5月中旬邮件联系清华的导师P,导师电话面试了一个多小时,内容都是关于我做的项目和发的论文,结束的时候让我好好准备期末考试,没有告诉面试结果,5月底的时候通知我暑假可以去清华实习,瞬间自信心膨胀,觉得既然有人要了,就没有找其他学校的导师当备胎,专心准备期末考试。
因为我当时六级没过(吐槽一下我们学校,大二下才能考四级,坑惨我这种英语渣渣了),而上交的校外宣讲会(这个成功率挺大的,我有同学直接通过这个就搞定了)、上交夏令营、中科院软件所、浙大夏令营都有6级要求,所以这些学校没有申请资格,清华计算机没有夏令营,所以只剩下了复旦、计算所、自动化所、信工所、北大的夏令营可以申请,其中复旦和自动化所、信工所时间冲突,计算所和北大时间冲突,由于有着爆棚的自信心,我每个时间段只选了一个学校,分别是自动化所和北大,另外两个没有申请。到6月底开始公布入营名单的时候我开始慌了,自动化所的名单里并没有我,我当时还来论坛发帖问,是不是分批公布。后来听同学说自动化所夏令营要不是实力超牛的,就是联系了导师的,所以我这种没联系导师的渣渣被无情拒绝了,还好北大的夏令营入营了。
吸取自动化所的教训,我在北大通知入营之后联系了一个信科的很牛的导师X,X视频面试我,问题涉及概率论、操作系统、线性代数、计算组成原理、算法、计算机网络,我面试表现不好,X说好好复习,夏令营好好表现吧,有他这句话我以为又拿下了一个导师(后来才知道这是句客套话,当时的视频面试没通过)。
北大的夏令营一共三天,第一天上午是欢迎会,第一天下午和第二天上午是各个实验室导师分别介绍自己实验室,因为我已经有了目标,所以就没听老师们的介绍,一直低头看王道论坛的机试教程,为机试做准备。第一天晚上在机房练习上机考试的系统,第二天晚上正式上机考试,据说一道也做不出来就直接出局了,4道以下会被老师嫌弃,我考试正好做了4道。第二天下午同学们根据自己的兴趣去参观实验室,实验室会有老师跟同学交流,有的实验室也会提前面试一下来参观的学生(我有个同学就直接过关了),然后4点多去机房填报最终志愿,这个志愿关系到第三天面试的实验室(与申请夏令营时的志愿时不同的,申请夏令营需要填意向实验室,申请博士的话还需要填意向导师,意向实验室和意向导师会筛你的申请材料),可以与申请时志愿不一致。第三天的面试很顺利,不过我去的实验室已经内定好了人选,所以北大与我无缘了,唯一的一个夏令营失败了,只好等9月推免再努力了。
北大结束之后我去了清华实习。。。(实习部分省略)。。。P老师和实验室的师兄师姐都非常棒,但由于我太渣了(比同时实习的同学差太多了),P老师最后没把他的名额给我,说再帮我想办法。
清华实习完8月中旬,我一个offer都没有,我开始疯狂的联系导师,给信工所、自动化所、北大的十多个导师发邮件,但他们基本都在夏令营收满了学生,9月没有多余名额,我彻底懵逼了。
8月底公布了六级成绩,我顺利飘过,恢复了一点自信。我试着联系了上交的老师Z,Z老师很痛快的答应了我,吸取北大视频面试的教训,我去了趟上海与Z老师当面交流,最终拿到了口头offer。
在浦东机场候机的过程中,我收到了P老师的微信,他把我简历、推荐信、实习报告转发给了另一个清华博导L,L老师同意接受。
清华的机试是用CCF认证统一考试的,过300分才有复试资格。一共五道题,开卷考试,前三道题很简单,我没做过acm都做出来了,考了350分。面试分为两部分,英文面试和中文面试,分两个房间。英语渣渣的我头都大了,英文面试的面试官是3个学生,第一个问题是用英文描述一下我的母校,我支支吾吾讲了些类似于it is very beautiful的句子,面试官满脸黑线,说,你讲一下你的家乡吧,...it is beautiful too , we are
very happy in winter....面试官都听蒙了,给我个台阶下让我自我介绍,我超开心,因为我准备的自我介绍派上了用场,故意停顿了几秒然后巴拉巴拉的背了出来。后来听说英文面试是心理测试,并没什么卵用。中文面试是ppt自我介绍+老师提问,下面坐着三四十个老师,什么方向的都有,并不敢乱吹牛逼,不过面试还是挺顺利的。
最后计算机系公布的未录取名单里没有我,清华顺利通过,只剩下学信网推免系统走个过场了。
看到清华未录取名单之后,我给上交Z老师发了封道歉信说明情况,希望没有耽误他的招生。在28号推免系统报名的时候,还有计算所、浙大的导师给打电话问我有没有兴趣去他们实验室,被我无情拒绝了(就是这么任性)。
30号学信网公布了录取结果,保研结束。最后感谢L老师、P老师、Z老师、hdw学长、小匣子学姐、小苹果学姐和12级保研群的战友们。机会总是青睐于那些有准备的人,希望大家在今后的道路上越走越顺利,也希望大家能够早日实现自己的理想与追求。 保研论坛(iEEban) 
 文章为作者独立观点,不代表大不六文章网立场
iEEban保研论坛()官方微信热门文章最新文章iEEban保研论坛()官方微信&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78北京航空航天大学最新资讯
考研帮最新资讯
课程预告,帮学堂出品
北京航空航天大学热门话题

我要回帖

更多关于 浙大计算机保研夏令营 的文章

 

随机推荐