考研

首页 >考研 > 考研信息 > 考研复试 >

2020计算机复试试题解析之西安电子科技大学

中公考研 2020-04-09 11:25:44
  今年受到疫情的影响考研复试的时间都有所调整,最近在家隔离的日子正是同学们好好准备复试的好时机。中公考研小编整理“2020计算机复试试题解析之西安电子科技大学”文章,希望能给同学们提供参考~

  最近很多学校都进入了考研的复试阶段,对于计算机专业来说,复试分为笔试和机试,机试在复试中占了一部分比重,也是很多同学比较害怕的部分,今天,我们来给大家讲讲西安电子科技大学的复试机试题目,西安电子科技大学是一个很有专业特色的院校,和很多名校一样,对机试的要求不算简单,有一定难度。近几年来有出过中规中矩的题目,也有结合社会热点,新生事物派生出的相关题目,所以同学们要做好准备,多上机进行练习,培养算法思维,取得较好的成绩。一般来讲,机试共1个半小时,共4道题大题。下面我们给大家举两个之前考过的题目,说明思路,供大家参考。

  一、Problem A

  问题描述:最近很火的微信游戏跳一跳游戏规则如下:短跳得1分,跌落游戏结束,长跳得2分,并且长跳可连续累加,第一次2分,第二次4分,依次类推,若长中断则重新计分2分。

  现给定0,1,2的组合序列,其中0:跌落 1:短跳成功 2:长跳成功

  请你计算玩家当次游戏的合计得分。

  输入格式:首先输入一个数字n代表当前游戏状态变化数,接着输入n个由0,1,2组合的数字,0代表结束。

  输出格式:输出玩家当次游戏得分。

  输入案例:

  6

  1 2 2 1 2 0

  输出结果:10

  思路:该题为基础题,只需要对长跳进行记录即可,累加计算得分,可设置变量存放上一跳状态与连跳次数。

  参考代码:

  #include

  using namespace std;

  int main()

  {

  int n;

  while(cin>>n)

  {

  int ans=0,last=0,c=1;

  for(int i=0;i<n;i++)

  {

  int tmp;

  cin>>tmp;

  if(tmp==0) // 结束

  break;

  if(tmp==1) // 短跳

  {

  ans+=1;

  c=1;

  }

  if(tmp==2)

  {

  if(last==2) // 连续长跳

  {

  ans+=2*c;

  c++;

  }

  else        // 单次长跳

  {

  ans+=2;

  c++;

  }

  }

  last=tmp; //保存上一跳

  }

  cout<<ans<<endl;

  }

  return 0;

  }

  二、Problem B

  最长连续公共子序列LCS

  问题描述:输入两个字符串s1,s2,设s1长度为a,s2长度为b,s1与s2的最长公共子串长度为c,定义公共因子 d=c/(a+b),要求求得d并输出,结果保留两位小数

  输入格式:输入两个字符串s1,s2,长度不大于100,以空格隔开

  输出格式:输出公共因子d,结果保留两位小数

  输入案例:

  abcde abgde

  输出案例:

  0.20

  两字符串具有连续公共子序列ab,c=2,a=b=5,于是有d=c/(a+b)=2/10=0.20

  思路:解决此类公共子序列典型解题方法就是使用动态规划,求解LCS的问题则变成递归求解的问题。但是如果重复的子问题多,效率就会很低下。改进的办法——用空间换时间,用数组保存中间状态,方便后面的计算。这就是动态规划(DP)的核心思想。

  参考代码:

  #define MAX 101

  #define GMax(x,y) x>y?x:y

  #include

  #include

  #include

  using namespace std;

  // dp数组

  int dp[MAX][MAX];

  int main()

  {

  char str1[MAX];

  char str2[MAX];

  gets(str1);

  gets(str2);

  int a=strlen(str1);

  int b=strlen(str2);

  int max_len=0; // 最大长度

  // 初始化序列

  for(int i=0;i<=a;i++)

  dp[i][0]=0;

  for(int j=0;j<=b;j++)

  dp[0][j]=0;

  // 注意这里不需要计算到dp[a][b],因为str[a]=str[b],长度会多加1

  // 递推动态规划

  for(int i=1;i<a;i++)

  for(int j=1;j<b;j++)

  {

  if(str1[i]==str2[j])

  {

  dp[i][j]=dp[i-1][j-1]+1;

  // 更新最大长度

  if(dp[i][j]>max_len)

  max_len=dp[i][j];

  }

  else

  // 非连续写法

  //  dp[i][j]=GMax(dp[i-1][j],dp[i][j-1]);

  //连续写法 重新计数

  dp[i][j]=0;

  }

  int c=max_len;

  float ans=(float)c/(a+b);

  //规格化输出

  cout<<c<<endl;

  cout<<setprecision(2)<<ans<<endl;

  return 0;

  }

  三、总结

  第一题从微信小游戏跳一跳出发,和普通的应用题类似,属于比较基础的题目,大部分考生应该能够编译成功,得分容易,而第二道题目难度偏大,考到了字符串的问题,和普通的字符串拼接等是有不同的,考生需要想到动态规划这个概念,了解动态规划的相关思想,加了一些难度,部分考生会比较迷惑,容易失分,因此,同学们在复习过程中应该注意方方面面的知识点,多动手操练,各类编程大题所涉及内容均应复习到位,提高效率,才能在1个半小时时间里完成4道编程大题。以上就是中公考研教研室对计算机复试西安电子科技大学机试题目的总结,希望对考生们能有所帮助。祝大家顺利通过考研复试机试环节!

  以上是中公考研小编整理的“2020计算机复试试题解析之西安电子科技大学”文章,希望对考生有帮助!更多考研复试相关内容尽在中公考研复试频道。

相关推荐:

2020考研初试成绩查询后,复试材料清单要这样准备

2020考研复试:复试分数线敲定前,积极备考不坐等

欢迎关注(中公教育考研频道)
及时掌握考研信息

微信咨询 回复“2021”领取备考大礼包
THE END  

声明:本站点发布的来源标注为“中公教育”的文章,版权均属中公教育所有,未经允许不得转载。

如果对你有帮助的话,就点个赞吧!

 猜你喜欢换一换  

 直播课堂

22考研-复试综合面试备考指导讲座

山东22考研-复试综合面试备考指导讲座

考研 |02-25 07:00

免费
2022省考周三学常识(直播版)

陕西中公陪你等公告-公告将出!历年的高竞争岗位分析

省考 |02-19 07:00

免费
2022陕西省考——行之有效,1课堂(直播版)

陕西中公陪你等公告-公告将出!历年的高竞争岗位分析

省考 |02-19 07:00

免费
2022省考政在发生——聚焦当今中国(直播版)

陕西中公陪你等公告-公告将出!历年的高竞争岗位分析

省考 |02-19 07:00

免费

 图书教材去APP查看更多图书

备考工具
退出

考研<

进入频道首页

考研信息

招生简章 考研政策 考试指南 就业信息 考试动态 招生目录 考研院校 考研大纲 参考书目 报录比 成绩查询入口 考研复试 分数线 考研调剂 录取通知书 推免生

备考资料

考研数学 考研政治 考研英语 联考综合 考研专业课 考研专硕 考研常识 复试资料 备考手册

考试题库

考研数学 考研政治 考研英语 联考综合

企业新闻

最新活动

热门话题

精彩专题

各项目入口一键直达<

国家公务员

地方公务员

北京公务员

山东公务员

浙江公务员

江苏公务员

湖南公务员

辽宁公务员

吉林公务员

黑龙江公务员

上海公务员

四川公务员

广东公务员

天津公务员

云南公务员

湖北公务员

河南公务员

福建公务员

安徽公务员

河北公务员

重庆公务员

江西公务员

陕西公务员

贵州公务员

青海公务员

内蒙古公务员

宁夏公务员

新疆公务员

广西公务员

甘肃公务员

山西公务员

海南公务员

西藏公务员

事业单位招聘

公选/遴选考试

大学生村官

军人考试

教师考试

警法考试

选调生

三支一扶

农村信用社

申论热点

银行考试

医学考试

会计考试

在职硕士

医疗卫生招聘

社区工作者

考研

中公新闻

时事政治

行测

面试

申论

公益性岗位

国企招聘

乡镇公务员

防诈骗技巧

公基常识

一级消防工程师

投资者关系网站

公考问答

社会工作师

四六级

法考

软考

PMP

建设工程

IT培训

外语培训