问题1882--蓝桥杯青少组04月24日C++初级-第四题-求和比较

1882: 蓝桥杯青少组04月24日C++初级-第四题-求和比较

时间限制: 1 Sec  内存限制: 128 MB
提交: 12  解决: 7
[提交] [状态] [讨论版] [命题人:]

题目描述

    小蓝在学习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,连续正整数数组A = {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(3<N<30)和M(0<=M<=500),两个正整数由一个空格隔开

输出

输出一个正整数,表示1到N(包含1和N)连续的正整数数组中有多少种方案,是的拆分的两个子数组部分和的差值等于M

样例输入 Copy

5 1

样例输出 Copy

3