1 条题解
-
0
x+y=n------(1)
x-y=k------(2)
(1)+(2)===>x=(n+k)/2
所以能继续分群的条件是 n>k 且 (n+k) 为偶数
当然,也可以 (1)-(2)===>y=(n-k)/2 ===> (n-k) 为偶数
#include <iostream> using namespace std; int n, k, ans; void dfs(int n) { if(n <= k || (n + k) & 1) { ans ++; return ; } int t = (n + k) / 2; dfs(t); dfs(n - t); } int main() { cin >> n >> k; dfs(n); cout << ans; return 0; }
- 1
信息
- ID
- 320
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 28
- 已通过
- 9
- 上传者