输入描述:
1、数字n,值为100倍数,范围为100~1000万。
2、数组s,包含20个元素,s=[1000,1500,2000,2500,………,10000,10500](元素为1000~10500内值为500倍数的所有整数)。
3、数组a,包含5个元素,a=[a1,a2,a3,a4,a5],a1~a5均为1~100之内的整数。
问题描述:
1、有一个5列3行的网格grid,初始每格数字均为0,每个格子可重新填入一个数字。现要求从数组s中任意选择8~15个数字(可每次选择相同数字)填入网格(填入位置随意),填完后的每列数字之和记为c1~c5,要求c1xa1+c2xa2+c3xa3+c4xa4+c5xa5=m=n,求满足条件的填充组合。
2、若没有满足条件的组合,则输出最接近n的一种组合,要求该组合计算出的值m不大于n,若数字m有多种组合,随机输出一种。
3、若有多种可能组合,从所有组合中随机输出一种,即保证相同的输入,有概率获得不同输出。
4、若没有满足条件和接近的组合,grid返回全0数组,m返回0。
5、要求时间复杂度不超过O(n^2)(1s至少可以处理1w次输入)。
6、内存空间限制1M。
输出描述:
1、输出填充后的网格数组grid。
2、输出实际的数字m。