1 条题解
-
0
题目详细题解
题目理解
给定一个四位字符串 (允许前导零),将其视为整数 。需要判断是否存在非负整数 和 ,使得:
如果存在,输出任意一组 ;否则输出 。
关键观察
设 ,则条件等价于:
其中 为非负整数。
重要结论:
- 只要 是一个完全平方数,就一定存在解
- 最简单的解是取 ,,此时 成立
- 如果 不是完全平方数,则无解
为什么这样简化是正确的?
原问题要求将 表示为 ,其中 和 是任意的非负整数。
设 ,则 和 的具体取值不影响 的值,只要它们的和等于 即可。因此:
- 先判断 是否为完全平方数
- 如果是,任取 ,然后随意拆分 为两个非负整数(如 和 )
- 如果不是,输出
算法步骤
- 将字符串 转换为整数
- 计算 (实际只需检查 )
- 如果 ,输出 和
- 否则输出
时间复杂度
- 每个测试用例
- 总复杂度 ,其中
示例验证
输入 整数 是否完全平方 输出 "0001"是 "1001"否 "1000"`"4900"$ 是 或其他解 `"2025"$ 或其他解 注意:题目示例中
"4900"的输出是34 36,这是因为 ,同样满足 。这说明只要 即可,不一定要 和 。
- 1
信息
- ID
- 6582
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者