历年复旦大学保研上机真题

2025复旦大学保研上机真题

2024复旦大学保研上机真题

2023复旦大学保研上机真题

在线测评链接:https://pgcode.cn/problem?classification=1

最大公共子串

题目描述

输入 3 个子串,输出这 3 个子串的最大公共子串。

输入格式

输入包含 3 个子串,用空格分隔。

输出格式

输出这 3 个子串的最大公共子串。

输入样例
复制代码
abcd acb abc
输出样例
复制代码
ab

字符串的编辑距离

题目描述

把两个字符串变成相同的三个基本操作定义如下:

  1. 修改一个字符(如把 a 变成 b)
  2. 增加一个字符(如 abed 变成 abedd)
  3. 删除一个字符(如 abed 变成 abd)
输入格式

输入两个字符串,每个字符串占一行。

输出格式

输出将两个字符串变成相同的最少操作次数。

输入样例
复制代码
abcde
abcf
输出样例
复制代码
2

字符串的编辑距离

题目描述

针对两个字符串,例如将 "jackbllog" 变成 "jackblog",只需要删除一个字符或增加一个字符,就可以把两个字符串变为相同。

把这种操作需要的最小次数定义为两个字符串的编辑距离 L。

编写程序计算指定文件中字符串的距离。

输入两个长度不超过 512 字节的 ASCII 字符串,在屏幕上输出字符串的编辑距离。

输入格式

输入两个长度不超过 512 字节的 ASCII 字符串。

输出格式

输出这两个字符串的编辑距离。

输入样例
复制代码
jackbllog
jackblog
输出样例
复制代码
1

Hanoi 塔问题

题目描述

Hanoi 塔问题是印度的一个古老的传说。

开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着 64 个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去。

庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。

请编写程序,把 A 柱上的 n 个金片,搬动到 C 柱(中间可以使用 B 柱),使得搬动的次数最少。

输入金片的个数 n(1 <= n <= 64),输出总搬动次数,以及最后 100 次搬动。

如果搬动次数小于等于 100 则全部输出;每个搬动占一行,加上是这第几次搬动的数字和":",格式见示例。

输入格式

输入一个整数 n,表示金片的个数(1 <= n <= 64)。

输出格式

第一行输出一个整数,表示总搬动次数。

接下来的每一行输出一个搬动步骤,格式为"次数:起始柱->目标柱"。

如果搬动次数大于 100,则只输出最后 100 次搬动。

输入样例
复制代码
2
输出样例
复制代码
3
1:A->B
2:A->C
3:B->C

最长公共连续子串

题目描述

给定两个字符串,求最大公共连续子串的长度。

字符串长度小于 1000。

输入格式

输入包含两行,每行一个字符串。

输出格式

输出一个整数,表示两个字符串的最长公共连续子串的长度。

输入样例
复制代码
111lhello2222
1133hello444
输出样例
复制代码
5
相关推荐
fiveym4 分钟前
PXE启动菜单配置完全指南:打造高效网络装机入口
开发语言·网络·php
賬號封禁中miu5 分钟前
图论之最小生成树
java·数据结构·算法·图论
月明长歌7 分钟前
Java数据结构:PriorityQueue堆与优先级队列:从概念到手写大根堆
java·数据结构·python·leetcode·
chao1898448 分钟前
基于MATLAB实现NSGA-II算法
开发语言·算法·matlab
未来之窗软件服务8 分钟前
幽冥大陆(五十七)ASR whisper-cli命令行使用 C语言—东方仙盟筑基期
c语言·开发语言·whisper·仙盟创梦ide·东方仙盟·东方仙盟自动化·东方仙盟商业开发
lalala_Zou8 分钟前
小米日常实习一面
java·后端·面试
lly2024069 分钟前
Foundation 网格 - 中型设备
开发语言
前端达人10 分钟前
原生JavaScript vs 前端框架,2026年该怎么选?
开发语言·前端·javascript·前端框架·ecmascript
算法与双吉汉堡15 分钟前
【短链接项目笔记】Day3 用户模块剩余部分
java·redis·后端
Chengbei1115 分钟前
fastjson 原生反序列化配合动态代理绕过限制
java·安全·网络安全·系统安全·安全架构