1 条题解
-
0
📝 题目大意
已知 和 ,给定 ,求原始整数 和 。
💡 解题思路
-
题目分析:题目给出了两个二元一次方程 和 ,且保证存在唯一整数解。数据范围很小(),直接解方程组即可。
-
算法推导:
- 将两式相加:,即 ,得 。
- 将两式相减:,即 ,得 。
- 由于题目保证存在唯一整数解,因此 和 必然都是偶数,直接使用整数除法即可。
-
边界与细节:注意 和 可能为负数,C++ 中整数除法向零截断。由于被除数必为偶数,直接
/2没有问题。无需特判任何边界。
⏱️ 复杂度分析
- 时间复杂度:仅做两次加法和一次除法,。
- 空间复杂度:仅使用几个变量,。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main(){ int a, b, x, y; cin >> a >> b; // 由方程组 X+Y=A, X-Y=B 解得: x = (a + b) / 2; // X = (A + B) / 2 y = (a - b) / 2; // Y = (A - B) / 2 cout << x << " " << y; return 0; } -
- 1
信息
- ID
- 856
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者