求出删掉最多数字的最少步数,怎么利用C语言程序编写代码的具体的方式来实现的

Problem Description
众所周知,度度熊喜欢的字符只有两个:B 和D。

今天,它发明了一个游戏:D游戏。

度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只是代指等差数列(等差数列百科)中的公差D。

这个游戏是这样的,首先度度熊拥有一个公差集合{D},然后它依次写下N个数字排成一行。游戏规则很简单:

1.在当前剩下的有序数组中选择X(X≥2) 个连续数字;

2.检查1 选择的X个数字是否构成等差数列,且公差 d∈{D};

3.如果2满足,可以在数组中删除这X个数字;

4.重复 1−3 步,直到无法删除更多数字。
度度熊最多能删掉多少个数字,如果它足够聪明的话?

为了挑战自己,度度熊给D游戏多设了一个条件,Xmin和Xmax,在游戏的第一步,选出X个连续数字时,必须满足Xmin≤X≤Xmax。它称这个游戏为D++游戏。

同时精益求精的度度熊还希望知道删掉最多数字的最少步数。

Input
第一行为T,表示输入数据组数。

每组数据以四个整数 N,M,Xmin,Xmax 开始 。接着的一行包括 N 个整数,表示排成一行的有序数组 Ai。接下来的一行是 M 个整数,即给定的公差集合 Di。

1≤T≤100

1≤N,M≤32

2≤Xmin≤Xmax≤16

−1 000 000 000≤Ai,Di≤1 000 000 000

Output
对第i组数据,输出

Case #i:

然后输出一行,为最多能删掉的数字和完成这个目标的最小步数,用空格隔开。

Sample Input
3
3 1 2 2
1 2 3
1
3 1 2 3
1 2 3
1
4 2 2 4
1 3 4 3
1 2

Sample Output
Case #1:
2 1
Case #2:
3 1
Case #3:
4 2

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
求一用数据结构c++编写的纸牌游戏程序
2
如何用c语言编写这个程序?
1
编写函数del(char str[])将字符串str中的除头部前导*和后字符数删除后的字符串,
0
C语言问题:约瑟夫环,程序出了点毛病,求大佬帮助
2
求一个c#的ftp 上传下载删除的程序源码
1
C语言的数据结构的连通图的问题,用C语言怎么编写代码去实现?
1
计算最小的删除的步数,结果是一个数列怎么计算的?采用C语言
1
数组的删除与添加如果没有在数组里删除原有的数字 执行插入时就报错
4
SD卡是什么语言编写的?可以做一个微型系统进去跑点脚本吗?
2
用管理员运行的cmd无法删除program files和其他系统文件夹下的程序
0
数列数组的增加删除修改寻找的一个问题,采用C语言的程序设计的方式怎么实现代码的编写
1
利用c语言,写出顺序列表完成基础功能()
0
序列的删除的一个做法,怎么采用C语言的程序编写的过程实现序列的删除
0
数列删除+求合的算法怎么利用C语言的程序的设计的思想是现代码的编写的呢?
1
学生成绩管理 C语言数据结构
0
小白求解,解决c语言职工工资管理系统的编码
0
利用C程序编写的语言,求有多少个边集,使得删掉边集里的边后,图里恰好有K个连通块
0
从矩阵中删除所有为1的节点的次数,怎么运用C程序的语言代码设计思路的求解的过程?
2
(C语言)在二叉搜索树的学习时遇到了问题,求大佬帮忙看看