新手村Ⅲ
一定要先点击左上角的“参与作业”按钮,再开始做练习题哦~
目录
- 前言
- 题目列表
- 注意事项
- 提示
- T323842 三角形的奥秘
- T323890 宏宇义助魔兽
- T323891 魔法弹珠大战
- T323893 飞龙比赛的裁决
- T584090 村民档案整理
- T323894 「要有光」
- T323904 精灵之跃
- T323901 魔法学院学籍管理
- T584092 村长的答疑会
- T323913 勇者的魔法统计图
- Python 3.10 官方文档相关章节
前言
Simplicity is prerequisite for reliability.
—— Edsger W. Dijkstra
在编程的世界中,简单是可靠的前提。
本次练习的部分题目来自历年 NOIP 普及组(也就是初中组)中的简单题——但不用担心,我们不需要用 C++ 来解决这些问题,在我们手中的工具是易用的 Python。
如果某些题目让你感到没有头绪,可以看看「提示」章节,也许会找到一些灵感。
题目列表
序号 | 题目 |
---|---|
0 | T323842 三角形的奥秘 |
1 | T323890 宏宇义助魔兽 |
2 | T323891 魔法弹珠大战 |
3 | T323893 飞龙比赛的裁决 |
4 | T584090 村民档案整理 |
5 | T323894 「要有光」 |
6 | T323904 精灵之跃 |
7 | T323901 魔法学院学籍管理 |
8 | T584092 村长的答疑会 |
9 | T323913 勇者的魔法统计图 |
注意事项
- 提交答案时,一定要将语言设置为“Python 3”(默认是 C++);
- 耐心读题,确保已经理解了题意、数据类型、输入输出要求后再作答;
- 计算机没有玄学,如果
WA (Wrong Answer)
了,仔细分析原因,思考为什么出错,带着理由修改代码,而不是盲目修改代码; - 建议不要打印多余的空格和空行。
提示
0. T323842 三角形的奥秘
- 写分支结构的时候,注意各个分支条件的互斥性和先后顺序。
- “三角形的两边之和大于第三边”
- 简单来说,只要细心,就已经没什么好怕的了(もう何も怖くない)。
1. T323890 宏宇义助魔兽
只要不想复杂,这道题就不复杂。
2. T323891 魔法弹珠大战
- 如果你提交的时候显示
TLE
。说明答案没错,但是超时了。这个时候,要么优化算法,要么多用点空间。 - 还记得新手村一通关秘籍里的技巧吗?
虽然很不想说,但毕竟收了小费。
“ 把算过的结果存下来。 ”
3. T323893 飞龙比赛的裁决
- 我建议直接用内置函数吧。
- 不用内置函数也可以写,如果你想挑战一下自己~
4. T584090 村民档案整理
- 读取多行数据可以用
while
循环,依次存取。 - 课上讲过的字典排序方法。如果有多个条件,它会按照元组中条件的先后顺序来进行排序。
5. T323894 「要有光」
如果没有魔法矿石和火把,这个世界将是一片黑暗。
所以,哪里亮了点哪里。
——善良的助教
6. T323904 精灵之跃
- 存下每一个连续数字的差;
- 判断这些差是否连续。
7. T323901 魔法学院学籍管理
T322571 魔法图书馆管理员云洁 pro max版本
8. T584092 村长的答疑会
只要不想复杂,这道题就非常简单;但如果想复杂了,这道题就非常复杂。
大胆一些,大力出奇迹!
——前几任善良助教的谏言
这一任善良助教的谏言:
- 这是一个很简单的
贪心
策略问题。局部最优
能推出全局最优
! - 小学奥数告诉我们,只要时间短的排前面,那么总体的等待时间一定是最短的。
9. T323913 勇者的魔法统计图
- 这是一道复杂的
模拟
题 。 - 统计图看起来有点复杂,但如果把它抽象一个二维的
list
呢? - 统计字母出现次数这件事很简单,但有一些需要注意的:
- 首先,每一个字母都要出现。
- 其次,怎么把频次转换成带
*
的序列呢?
Python 3.10 官方文档相关章节
官方文档中的一些内容可能对初学者而言过于晦涩,难以理解,所以也不必强迫自己一开始就理解其中的全部内容——等用到时回头再看,自然就会有所感悟。