#P654. 【HAOI2019】骗分过样例
【HAOI2019】骗分过样例
这是一道传. 统. 题. 。
【题目背景】
“我的程序需要完成什么功能呀?. . . . . .”
“我也不知道. . . . . .”
“啊?那我怎么写呀. . . . . .”
“已经有人给你写好测试了,只要你通过这些测试就可以了. . . . . .”
“啊?. . . . . .”
“所有的测试数据都在题目目录下,请. 做. 好. 备. 份,. 避. 免. 误. 删. !”
“这. . . . . .”
“哦,我还可以把输入格式告诉你. . . . . .不过都有完整的数据了,知道输入格式可
能也没太大用处吧. . . . . .”
【输入格式】
从文件 software.in 中读入数据。 第一行输入一个字符串,表示需要运行的软件功能编号。两个编号越相似,说明对应的两个功能的算法越接近。
接下来根据功能的不同,可能有任意长度的输入,详见每个功能的文档。
【输出格式】
输出到文件 software.out 中。详见每个功能的文档。 【子任务】
“‘每个功能的文档’在哪里呀?”
“我也没有,就像我没有题目描述一样. . . . . .”
“好吧. . . . . .那我是不是打表就可以了呀. . . . . .”
“代. 码. 长. 度. 限. 制. 是.102400 字. 节. (100KB),直接打肯定是不行的!不过,需要的话倒是可以稍微打一些小的表. . . . . .”
“唔. . . . . .”
“另外,我们会给你的程序对于每个测试点分别评分,求和后得到总分。按照传统的规矩,每个测试点正确得满分,错误得 0 分。每. 个. 测. 试. 点. 的. 分. 值. 不. 全. 相. 同,. 测. 试. 点. 的.分. 值、. 顺. 序. 与. 难. 度. 没. 有. 必. 然. 联. 系. 。”
【提示】
在你使用 C/C++ 的 int 类型时,如果发生了溢出,比较可能的情况是按照模 2^32同余的前提下,在 int 范围内取一个合理的值。例如在计算 2147483647 + 2 时,较有 可能会得到 −2147483647。
然而,C/C++ 标准将这种情况归类为“未定义行为”。当你的程序试图计算会溢出的 int 运算时,除了上述结果外,编译器还可能会让你的程序在此时计算出错误结果、死循环、运行错误等,这也是符合 C/C++ 标准的。
如果你的程序希望利用 int 的自然溢出的特性,请转换为 unsigned 类型运算。例如将 a + b 改写为 (int) ((unsigned) a + (unsigned) b),以避免出现不预期 的错误。