记录一下2025年6月8号下午13:30-17:30奋战CCF-CSP四小时无果后,“第一次考试就280+”的黄粱美梦无情破碎的故事。
多少分就不说了,只能说还是太嫩了。
题目列表
- 正态分布
- 马走“日”的可能数
- 解码
- 月票的可能数
- 旅行攻略
正态分布
题目描述
已知一个正态分布 \( X \sim N(\mu, \sigma^2) \),以及一个观测值 \( n \),请将其转换为标准正态分布下的 z 值,并判断该 z 值在标准正态分布表中所对应的 行号和列号:
- 行号:取 z 值保留一位小数后的值乘以 10(例如 z = 1.23 ⇒ 行号为 12)
- 列号:取 z 值保留两位小数后的第二位小数(例如 z = 1.23 ⇒ 列号为 3)
注意:标准正态分布表通常只列出 z ≥ 0 的部分,若 z < 0,应提示不在查表范围内。
输入格式
第一行输入一个整数 \( t \)(表示测试数据组数)
接下来每组测试输入三项:
- \( \mu \):正态分布的均值(double)
- \( \sigma \):标准差(double,非零正数)
- \( n \):观测值(double)
输出格式
对于每组测试,输出对应的行号和列号。
输入样例
1 | 2 |
输出样例
1 | 16 3 |
提示
- 可使用公式 ( z = \frac{n - \mu}{\sigma} ) 进行标准化;
- 行号取整数部分 z × 10,列号取 z 保留两位小数后的小数点第二位;
- 若 z 值近似边界(如 z = 1.23999),建议用四舍五入防止误差。
代码
1 |
|
注意:总共只有10列
马走“日”的可能数
题目描述
在一个 ( n \times n ) 的国际象棋棋盘上,给定马的初始位置 ( (x, y) ) 和最多可走的步数 ( k )。请计算在不走出棋盘的前提下,马从起始位置最多走 ( k ) 步,可以到达多少个不同的位置(包括起点)。
马的移动方式如下(共 8 种):
- (±2, ±1)
- (±1, ±2)
输入格式
第一行输入一个整数 ( t )(表示测试组数)
接下来每组输入四个整数:
- ( n ):棋盘大小(1 ≤ n ≤ 25)
- ( x )、( y ):起始位置,坐标从 0 开始(0 ≤ x, y < n)
- ( k ):最多可以移动的步数(0 ≤ k ≤ 10)
输出格式
每组输出一行,表示最多走 k 步后,马可以到达的不同位置数。
输入样例
1 | 2 |
输出样例
1 | 2 |
解题思路
- 使用 BFS 从起点出发,记录当前走了几步;
- 只要当前步数 ≤ k,就尝试向 8 个马步方向扩展;
- 使用
visited[x][y]
或unordered_set
记录所有访问过的位置; - 最后统计不同位置的数量即可。
C++ 参考代码
1 | #include <iostream> |
解码
题目不记得了,反正超级长,没看懂