A276.无聊的小蓝

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小蓝在学习C++数组时,突发奇想想知道如果将一个连续的正整数数组拆分成两个子数组,然后对拆分出的两个子数组求和并做差,且差值正好等于一个固定的正整数,像这样同一连续的正整数数组拆分方案有多少种。

我们一起帮助小蓝设计一下规则:

第一给出两个正整数NN和MM;

第二从11到NN组成一个连续正整数数组A(A=1,2,3,4......N)A(A={1,2,3,4......N});

第三将数组AA拆分成两个子数组A1A_1、A2A_2(1.两个子数组中不能出现相同的数;
2.子数组中的数字可以是连续的也可以是不连续的;
3.拆分出的两组子数组的元素个数可以不同,但总数量等于AA数组元素个数);

第四对A1A_1、A2A_2两个子数组分别求和;

第五对A1、A2A_1、A_2两个子数组的和做差(大的数字减去小的数字);

第六如果差值正好等于固定值MM,则判定此拆分方案成立。

如:N=5,M=1N=5,M=1,连续正整数数组A=1,2,3,4,5A={1,2,3,4,5}。

符合条件的拆分方案有3种:

A1=1,2,4,A2=3,5A_1={1,2,4},A2={3,5},其中A1A_1的和为77,A2A_2的和为88,和的差值等于11

A1=1,3,4,A2=2,5A_1={1,3,4},A2={2,5},其中A1A_1的和为88,A2A_2的和为77,和的差值等于11

A1=3,4,A2=1,2,5A_1={3,4},A2={1,2,5},其中A1A_1的和为77,A2A_2的和为88,和的差值等于11

输入格式

分别输入两个正整数N(3≤N≤30)N(3 \le N \le 30)和M(0≤M≤500)M(0≤M≤500),两个正整数由一个空格隔开

输出格式

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

输入输出样例

  • 输入#1

    5 1

    输出#1

    3

输入解题思路,AI测评打分。不知道怎么写?

首页