📜  算法测验| SP2竞赛1 |第34章(1)

📅  最后修改于: 2023-12-03 15:27:26.264000             🧑  作者: Mango

算法测验 | SP2竞赛1 |第34章

本文介绍了SP2竞赛第34章的算法测验,是一项针对程序员的编码挑战,旨在测试参赛者的算法能力和编程技能。以下是本次测试的规则和要求。

测试规则
  1. 测试内容:本次测试的主要内容涵盖了算法基础和高级算法、数据结构等方面的知识点,包括但不限于排序算法、字符串搜索、图算法、动态规划、树和图的遍历等。

  2. 参赛对象:本次测试面向所有具备一定编程基础的程序员,无论是学生还是职场人士均可参加。

  3. 测试时间:测试时间为120分钟,要求参赛者在规定时间内完成所有的题目。

  4. 常规题目:测试中的常规题目需要参赛者编写正确的程序代码并提交给评测系统进行评测,评测系统分别测试参赛者代码的准确性、效率、鲁棒性等方面。

  5. 高级题目:高级题目不需要提交代码,参赛者需要在规定时间内自行完成,评分方式为评委打分。

测试要求
  1. 程序代码:所有代码需使用C++语言编写,并符合C++11标准,参赛者可以使用各种IDE、编辑器和编译器进行编写和调试,但不能使用第三方库和插件。

  2. 题目难度:本次测试共设置了5个常规题目和1个高级题目,难度依次递增,参赛者可以选择完成部分或全部题目。

  3. 代码严谨性:所有代码需要经过认真审查和测试,保证严谨性,在程序中使用恰当的注释和代码风格。

测试内容
常规题目

题目一

将给定的数组按照指定方式排序,具体要求见题目描述。例:

输入:

1 4 3 2 6 9 7 8 5

输出:

1 2 3 4 5 6 7 8 9

题目二

给定一个字符串和一个子串,输出该字符串中所有匹配该子串的位置。例:

输入:

ababcabcacbab
abc

输出:

2 5 8

题目三

给定一个有向图,输出其拓扑排序结果。例:

输入:

6 8
0 1
0 2
1 3
1 4
2 3
2 5
3 5
4 5

输出:

0 1 2 3 4 5

题目四

给定一个字符串和一个字典,输出所有能由字典中单词组成的子串。例:

输入:

catsanddog
cat cats and sand dog

输出:

cats and dog

题目五

给定一组数,输出它们中所有能组成回文数的数字对。例:

输入:

[1, 2, 3, 4, 5, 6]

输出:

[1, 5, 3, 3, 5, 1]
[2, 4, 6, 6, 4, 2]
高级题目

题目六

在一个无向图中,找出所有的连通子图,并输出每个连通子图中的顶点个数和边数。例:

输入:

6 7
0 1
1 2
2 3
3 0
4 5
5 4

输出:

3 3
2 2

Markdown代码如下:

# 算法测验 | SP2竞赛1 |第34章

本文介绍了SP2竞赛第34章的算法测验,是一项针对程序员的编码挑战,旨在测试参赛者的算法能力和编程技能。以下是本次测试的规则和要求。

## 测试规则

1. 测试内容:本次测试的主要内容涵盖了算法基础和高级算法、数据结构等方面的知识点,包括但不限于排序算法、字符串搜索、图算法、动态规划、树和图的遍历等。

2. 参赛对象:本次测试面向所有具备一定编程基础的程序员,无论是学生还是职场人士均可参加。

3. 测试时间:测试时间为120分钟,要求参赛者在规定时间内完成所有的题目。

4. 常规题目:测试中的常规题目需要参赛者编写正确的程序代码并提交给评测系统进行评测,评测系统分别测试参赛者代码的准确性、效率、鲁棒性等方面。

5. 高级题目:高级题目不需要提交代码,参赛者需要在规定时间内自行完成,评分方式为评委打分。

## 测试要求

1. 程序代码:所有代码需使用C++语言编写,并符合C++11标准,参赛者可以使用各种IDE、编辑器和编译器进行编写和调试,但不能使用第三方库和插件。

2. 题目难度:本次测试共设置了5个常规题目和1个高级题目,难度依次递增,参赛者可以选择完成部分或全部题目。

3. 代码严谨性:所有代码需要经过认真审查和测试,保证严谨性,在程序中使用恰当的注释和代码风格。

## 测试内容

### 常规题目

#### 题目一

将给定的数组按照指定方式排序,具体要求见题目描述。例:

输入:

1 4 3 2 6 9 7 8 5


输出:

1 2 3 4 5 6 7 8 9


#### 题目二

给定一个字符串和一个子串,输出该字符串中所有匹配该子串的位置。例:

输入:

ababcabcacbab abc


输出:

2 5 8


#### 题目三

给定一个有向图,输出其拓扑排序结果。例:

输入:

6 8 0 1 0 2 1 3 1 4 2 3 2 5 3 5 4 5


输出:

0 1 2 3 4 5


#### 题目四

给定一个字符串和一个字典,输出所有能由字典中单词组成的子串。例:

输入:

catsanddog cat cats and sand dog


输出:

cats and dog


#### 题目五

给定一组数,输出它们中所有能组成回文数的数字对。例:

输入:

[1, 2, 3, 4, 5, 6]


输出:

[1, 5, 3, 3, 5, 1] [2, 4, 6, 6, 4, 2]


### 高级题目

#### 题目六

在一个无向图中,找出所有的连通子图,并输出每个连通子图中的顶点个数和边数。例:

输入:

6 7 0 1 1 2 2 3 3 0 4 5 5 4


输出:

3 3 2 2