1509: 求和比较
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:1
Solved:1
Description
小蓝在学习C++数组时,突发奇想想知道如果将一个连续的正整数数组拆分成两个子数组,然后对拆分出的两个子数组求和并做差,且差值正好 等于一个固定的正整数,像这样同一连续的正整数数组拆分方案有多少种。
我们一起帮助小蓝设计一下规则:
第一:给出两个正整数N和M;
第二:从1到N组成一个连续正整数数组A (A={1,2,3,4…N});
第三:将数组A拆分成两个子数组A1、A2
1)两个子数组中不能出现相同的数;
2)子数组中的数字可以是连续的也可以是不连续的;
3)拆分出的两组子数组的元素个数可以不同,但总数量等于A数组元素个数;
第四:对A1、A2两个子数组分别求和;
第五:对A1、A2两个子数组的和做差(大的数字减去小的数字);
第六:如果差值正好等于固定值M,则判定此拆分方案成立。
如:N=5, M=1,连续正整数数组人={1, 2, 3, 4, 5}。
符合条件的拆分方案有3种:
A1={1, 2, 4}, A2={3, 5},其中A1的和为7, A2的和为8,和的差值等于1
A1={1, 3, 4}, A2={2, 5},其中A1的和为8, A2的和为7,和的差值等于1
A1=(3, 4}, A2={1, 2, 5},其中A1的和为7, A2的和为8,和的差值等于1
我们一起帮助小蓝设计一下规则:
第一:给出两个正整数N和M;
第二:从1到N组成一个连续正整数数组A (A={1,2,3,4…N});
第三:将数组A拆分成两个子数组A1、A2
1)两个子数组中不能出现相同的数;
2)子数组中的数字可以是连续的也可以是不连续的;
3)拆分出的两组子数组的元素个数可以不同,但总数量等于A数组元素个数;
第四:对A1、A2两个子数组分别求和;
第五:对A1、A2两个子数组的和做差(大的数字减去小的数字);
第六:如果差值正好等于固定值M,则判定此拆分方案成立。
如:N=5, M=1,连续正整数数组人={1, 2, 3, 4, 5}。
符合条件的拆分方案有3种:
A1={1, 2, 4}, A2={3, 5},其中A1的和为7, A2的和为8,和的差值等于1
A1={1, 3, 4}, A2={2, 5},其中A1的和为8, A2的和为7,和的差值等于1
A1=(3, 4}, A2={1, 2, 5},其中A1的和为7, A2的和为8,和的差值等于1
Input
分别输入两个正整数N(3<N<30)和lM(0<M<500),两个正整数由一个空格隔开
Output
输出一个正整数,表示1到N (包含1和N)连续的正整数数组中有多少种方案,使得拆分的两个子数组部分和的差值等于M
Sample Input Copy
5 1
Sample Output Copy
3