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


1.复试方式:现场复试。
2.复试总分:复试总分占入学总成绩的50%。
3.考核时间:每位考生的面试总时间(含外语应用能力考核)不少于20分钟。
4.考核办法:以面试为主,机试成绩不记入复试总成绩,提供给面试评委参考。复试小组对参加复试的考生进行逐个考核,考生当场回答问题,必要时,复试小组成员会就相关问题进一步提问。
机试试题涉及《程序设计》、《数据结构》、《算法导论》三门课程 内容,不提供考试大纲;考生可自行选择 C 或 C++编程语言中的一种作为上机考试编程语言;
参考代码
- #include <bits/stdc++.h>
- #include <iostream>
- #include <string> // 字符串
- #include <cmath> //数学
- #include <vector> //向量容器
- #include <algorithm> // 算法(swap,sort,find,copy,reverse,__gcd,...)
- #include <queue> //队列
- #include <map> //
- #include <set> //
- #include <iomanip> // 保留几位小数
- using namespace std;
- typedef long long ll;
- const int maxn = 105;
- struct edge {
- int x,y,w;
- };
- //排序函数
- bool cmp(edge a,edge b) {
- return a.w<b.w;
- }
- //并查集
- int fa[maxn];
- int find(int x) {
- if(x!=fa[x]) {
- fa[x]=find(fa[x]); //压缩路径
- }
- return fa[x];
- }
- int main() {
- int n,m,x,y,w,state,key;
- //Kruskal算法
- while(cin>>n) {
- if(n==0)
- return 0;
- vector<edge> edges; //边集
- //初始化并查集
- for(int i=1; i<=n; i++) {
- fa[i]=i;
- }
- int sum=0; //生成树代价
- int num=n; //联通分量
- //输入边
- for(int i=0; i<n*(n-1)/2; i++) {
- cin>>x>>y>>w>>state;
- if(state==0) {
- edges.push_back(edge {x,y,w});
- } else {
- int fx=find(x);
- int fy=find(y);
- if(fx!=fy) {
- fa[fx]=fy; //把祖先连上另一节点
- num--; //联通分量减少1
- }
- }
- }
- sort(edges.begin(),edges.end(),cmp); //给边集排序,使权值小的边排在前面
- for(int i=0; i<edges.size(); i++) {
- x=edges[i].x;
- y=edges[i].y;
- int fx=find(x);
- int fy=find(y);
- if(fx!=fy) {
- fa[fx]=fy; //把祖先连上另一节点
- sum+=edges[i].w;
- num--; //联通分量减少1
- }
- }
- // if(num<=1)
- cout<<sum<<endl;
- // else
- // cout<<"?"<<endl;
- }
- }
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)