2025年中山大学计算机考研复试机试真题 - PGCode考研平台

最后更新:2025-12-08

2025年中山大学计算机考研复试机试真题

本文整理中山大学计算机考研机试真题,并提供详细解析与代码实现,帮助同学们了解保研机试的难度与题型分

前缀字符串

题目描述

如果一个字符串 $ s1 $ 是由另一个字符串 $ s2 $ 的前面部分连续字符组成的,那么我们就说 $ s1 $ 就是 $ s2 $ 的前缀。

比如 $ ac $ 是 $ acm $ 的前缀,$ abcd $ 是 $ abcddfasf $ 的前缀,特别的 $ kdfa $ 是 $ kdfa $ 的前缀。

现在给你一些字符串,你的任务就是从这些字符串中找出一些字符串放到一个集合中,使得这个集合中任意一个字符串不是其他字符串的前缀,并且要使集合里的字符串尽可能的多。

输出这个集合中字符串的个数。

输入格式

有多组测试数据。

每组测试数据以一个整数 $ n $ 开头,随后有 $ n $ 个字符串。

当 $ n=0 $ 时表示输入结束。

$ 0 < n < 100 $,字符串长度不大于 $ 20 $。

输出格式

每组测试数据输出一个整数,即所求的最大值。

每组数据占一行。

输入样例

6
acm
yuou
yuoufsdaf
acmmmdf
acmm
fdsf
0

输出样例

3

统计二进制数中的 1 的个数

题目描述

整数在计算机中使用二进制的形式表示,如整数 $7$ 用二进制表示为:$111$,其中 $1$ 的个数为 $3$。

输入格式

输入一个整数

输出格式

输出该整数用二进制表示时,其中 $1$ 的个数

输入样例

7

输出样例

3

最长连号

题目描述

输入 $n$ 个正整数,($1 \leq n \leq 10000$),要求输出最长的连号的长度。

(连号指从小到大连续自然数)

输入格式

第一行,一个数 $n$;

第二行,$n$ 个正整数,之间用空格隔开。

输出格式

一个数,最长连号的个数。

输入样例

10
3 5 6 2 3 4 5 6 8 9

输出样例

5

最小生成树

题目描述

如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出 $ orz $。

输入格式

第一行包含两个整数 $ N $, $ M $,表示该图共有 $ N $ 个结点和 $ M $ 条无向边。

接下来 $ M $ 行每行包含三个整数 $ X_i $, $ Y_i $, $ Z_i $,表示有一条长度为 $ Z_i $ 的无向边连接结点 $ X_i $, $ Y_i $。

$ 1 \leq N \leq 5000 $,$ 1 \leq M \leq 2 \times 10^5 $。

输出格式

如果该图连通,则输出一个整数表示最小生成树的各边的长度之和。

如果该图不连通则输出 $ orz $。

输入样例

4 5
1 2 2
1 3 2
1 4 3
2 3 4
3 4 3

输出样例

7

排队

题目描述

N个小朋友,编号 $1 \sim N$,要排成一队。

在安排每个人的顺序时,有 M个要求,每个要求包含两个整数 $a,b$,表示小朋友 $a$ 要排在小朋友 $b$ 的前面。

请你找出符合所有要求的排队顺序。

保证至少存在一个符合条件的顺序。

当符合条件的排队顺序不唯一时,编号更小的小朋友尽量更靠前。

输入格式

第一行包含整数 $N,M$。

接下来 $M$ 行,每行包含两个整数 $a,b$。

输出格式

按排好队列从前到后的顺序在一行内输出每个小朋友的编号。

输入样例1

4 3
1 2
2 3
4 3

输出样例1

1 2 4 3

完整题目及在线评测:https://www.pgcode.cn/