N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

1.复试方式:现场复试。

2.复试总分:复试总分占入学总成绩的50%。

3.考核时间:每位考生的面试总时间(含外语应用能力考核)不少于20分钟。

4.考核办法:以面试为主,机试成绩不记入复试总成绩,提供给面试评委参考。复试小组对参加复试的考生进行逐个考核,考生当场回答问题,必要时,复试小组成员会就相关问题进一步提问。

机试试题涉及《程序设计》、《数据结构》、《算法导论》三门课程 内容,不提供考试大纲;考生可自行选择 C 或 C++编程语言中的一种作为上机考试编程语言;

参考代码

  1. #include <bits/stdc++.h>
  2. #include <iostream>
  3. #include <string> // 字符串
  4. #include <cmath> //数学
  5. #include <vector> //向量容器
  6. #include <algorithm> // 算法(swap,sort,find,copy,reverse,__gcd,...)
  7. #include <queue> //队列
  8. #include <map> //
  9. #include <set> //
  10. #include <iomanip> // 保留几位小数
  11. using namespace std;
  12. typedef long long ll;
  13. const int maxn = 105;
  14. struct edge {
  15. int x,y,w;
  16. };
  17. //排序函数
  18. bool cmp(edge a,edge b) {
  19. return a.w<b.w;
  20. }
  21. //并查集
  22. int fa[maxn];
  23. int find(int x) {
  24. if(x!=fa[x]) {
  25. fa[x]=find(fa[x]); //压缩路径
  26. }
  27. return fa[x];
  28. }
  29. int main() {
  30. int n,m,x,y,w,state,key;
  31. //Kruskal算法
  32. while(cin>>n) {
  33. if(n==0)
  34. return 0;
  35. vector<edge> edges; //边集
  36. //初始化并查集
  37. for(int i=1; i<=n; i++) {
  38. fa[i]=i;
  39. }
  40. int sum=0; //生成树代价
  41. int num=n; //联通分量
  42. //输入边
  43. for(int i=0; i<n*(n-1)/2; i++) {
  44. cin>>x>>y>>w>>state;
  45. if(state==0) {
  46. edges.push_back(edge {x,y,w});
  47. } else {
  48. int fx=find(x);
  49. int fy=find(y);
  50. if(fx!=fy) {
  51. fa[fx]=fy; //把祖先连上另一节点
  52. num--; //联通分量减少1
  53. }
  54. }
  55. }
  56. sort(edges.begin(),edges.end(),cmp); //给边集排序,使权值小的边排在前面
  57. for(int i=0; i<edges.size(); i++) {
  58. x=edges[i].x;
  59. y=edges[i].y;
  60. int fx=find(x);
  61. int fy=find(y);
  62. if(fx!=fy) {
  63. fa[fx]=fy; //把祖先连上另一节点
  64. sum+=edges[i].w;
  65. num--; //联通分量减少1
  66. }
  67. }
  68. // if(num<=1)
  69. cout<<sum<<endl;
  70. // else
  71. // cout<<"?"<<endl;
  72. }
  73. }

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐