Files
2025-09-29 11:06:08 +08:00

167 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

``` html
A 单链表基本操作
分数 10
作者 朱允刚
单位 吉林大学
请编写程序实现单链表插入、删除结点等基本算法。给定一个单链表和一系列插入、删除结点的操作序列,输出实施上述操作后的链表。单链表数据域值为整数。
输入格式:
输入第1行为1个正整数n表示当前单链表长度第2行为n个空格间隔的整数为该链表n个元素的数据域值。第3行为1个正整数m表示对该链表施加的操作数量接下来m行每行表示一个操作为2个或3个整数格式为0 k d或1 k。0 k d表示在链表第k个结点后插入一个数据域值为d的结点若k=0则表示表头插入。1 k表示删除链表中第k个结点此时k不能为0。注操作序列中若含有不合法的操作如在长度为5的链表中删除第8个结点、删除第0个结点等则忽略该操作。n和m不超过100000。
输出格式:
输出为一行整数表示实施上述m个操作后的链表每个整数后一个空格。输入数据保证结果链表不空。
输入样例:
5
1 2 3 4 5
5
0 2 8
0 9 6
0 0 7
1 0
1 6
输出样例:
7 1 2 8 3 5
代码长度限制
16 KB
Python (python3)
时间限制
1000 ms
内存限制
256 MB
Java (javac)
时间限制
5000 ms
内存限制
256 MB
其他编译器
时间限制
100 ms
内存限制
10 MB
栈限制
8192 KB
---
B 栈的实现及基本操作
分数 10
作者 朱允刚
单位 吉林大学
给定一个初始为空的栈和一系列压栈、弹栈操作请编写程序输出每次弹栈的元素。栈的元素值均为整数。本题不允许使用stack、queue、vector等STL容器。
输入格式:
输入第1行为1个正整数n表示操作个数接下来n行每行表示一个操作格式为1 d或0。1 d表示将整数d压栈0表示弹栈。n不超过20000。
输出格式:
按顺序输出每次弹栈的元素每个元素一行。若某弹栈操作不合法如在栈空时弹栈则对该操作输出invalid。
输入样例:
7
1 1
1 2
0
0
0
1 3
0
输出样例:
2
1
invalid
3
代码长度限制
16 KB
时间限制
50 ms
内存限制
10 MB
栈限制
131000 KB
---
C 队列的实现及基本操作
分数 10
作者 朱允刚
单位 吉林大学
给定一个初始为空的队列和一系列入队、出队操作,请编写程序输出每次出队的元素。队列的元素值均为整数。
备注本题不允许使用stack、queue、vector等STL容器。
输入格式:
输入第1行为1个正整数n表示操作个数接下来n行每行表示一个操作格式为1 d或0。1 d表示将整数d入队0表示出队。n不超过20000。
输出格式:
按顺序输出每次出队的元素每个元素一行。若某出队操作不合法如在队列空时出队则对该操作输出invalid。
输入样例:
7
1 1
1 2
0
0
0
1 3
0
输出样例:
1
2
invalid
3
代码长度限制
16 KB
时间限制
50 ms
内存限制
20 MB
栈限制
8192 KB
---
D KMP模式匹配算法
分数 10
作者 朱允刚
单位 吉林大学
给定目标串s和模式串p编写程序使用KMP算法进行模式匹配计算p在s中首次出现的位置若p不在s中则输出1。字符串下标从0开始。
输入格式:
输入为2行第1行为主串s第2行为模式串p。主串和模式串长度不超过10
5
输出格式:
输出为2行第1行为3个整数表示分别在模式串p的p
m/4
,p
2m/4
,p
3m/4
处失配后模式串下一次匹配的位置即next[j]或f[j1]+1的值j=m/4,2m/4,3m/4每个整数后一个空格m表示模式串p的长度第2行为一个整数表示p在s中首次出现的位置若p不在s中则输出1。
输入样例:
qwerababcabcabcabcdaabcabhlk
abcabcabcabc
输出样例:
0 3 6
6
代码长度限制
16 KB
时间限制
20 ms
内存限制
10 MB
栈限制
8192 KB
```