「『每个功能的文档』在哪里呀?」
「我也没有,就像我没有题目描述一样……」
「好吧……那我是不是打表就可以了呀……」
「代码长度限制是 102400 字节(100KB),超过此限制会导致该题获得零分,直接打肯定是不行的!不过,需要的话倒是可以稍微打一些小的表……」
「唔……」
「另外,我们会给你的程序对于每个测试点分别评分,求和后得到总分。按照传统的规矩,每个测试点正确得满分,错误得 0 分。每个测试点的分值不全相同,测试点的分值、顺序与难度没有必然联系。」
| 测试点 |
功能编号 |
分值 |
| $1$ |
$\texttt{1_998244353}$ |
$4$ |
| $2$ |
$\texttt{1_998244353}$ |
$4$ |
| $3$ |
$\texttt{1_998244353}$ |
$4$ |
| $4$ |
$\texttt{1?}$ |
$7$ |
| $5$ |
$\texttt{1?+}$ |
$9$ |
| $6$ |
$\texttt{1wa_998244353}$ |
$6$ |
| $7$ |
$\texttt{1wa_998244353}$ |
$7$ |
| $8$ |
$\texttt{2p}$ |
$4$ |
| $9$ |
$\texttt{2p}$ |
$6$ |
| $10$ |
$\texttt{2p}$ |
$8$ |
| $11$ |
$\texttt{2u}$ |
$5$ |
| $12$ |
$\texttt{2u}$ |
$6$ |
| $13$ |
$\texttt{2u}$ |
$9$ |
| $14$ |
$\texttt{2g}$ |
$5$ |
| $15$ |
$\texttt{2g}$ |
$7$ |
| $16$ |
$\texttt{2g?}$ |
$9$ |
提示
在你使用 C/C++ 的 int 类型时,如果发生了溢出,比较可能的情况是按照模 $2^{32}$ 同余的前提下,在 int 范围内取一个合理的值。例如在计算 $2147483647 + 2$ 时,较有可能会得到 $-2147483647$。
然而,C/C++ 标准将这种情况归类为「未定义行为」。当你的程序试图计算会溢出的 int 运算时,除了上述结果外,编译器还可能会让你的程序在此时计算出错误结果、死循环、运行错误等,这也是符合 C/C++ 标准的。
如果你的程序希望利用 int 的自然溢出的特性,请转换为 unsigned 类型运算。例如将 a + b 改写为 (int) ((unsigned) a + (unsigned) b),以避免出现不预期的错误。