思路如下:可靠次数M,对应可选择数组范围kx[],数组的个数N 链表结点数用jd,结点取最大位数jm,排斥的数组MM[],数组的取值任何两个数组的组合,可以是00,01或11
第一次选择 :可以选择4次的数有9个(1-9),选择3次的数为1个0, 从有最大次数选择的数中取出4个(贪心),先选择不相同(排斥),假设取1234
根据答案判断,用X表示答案1,Y表示答案2,答案是否合理:满足发下条件(0<=X<5)且(Y<X))或(Y=X=0),
第一次判断:
switch(Y)
case 3:猜对了,break;
case 2: 必有123或234
switch(x)
{case 4: 只有两种可能4123,2341
case 3: 取1235再判断
}break
case 1: 必有12 23 34 中的一个,且不存在123和234
switch(x)
{case 4: 只能是1234的排列,用1243再判断
case 3: 在[1234}选 3个,{567890}只能取1个用1245判断
case 2: 在[1234]中选两个,{567890}中选2个用1256判断
}break
case 0: switch(x)无12,23,34
{case 4: 只能是1234的排列,用1324判断
case 3: 在[1234}选 3个,{567890}只能取1个,用1132判断
case 2: 在[1234]中选两个,{567890}中选2个,用5678判断
case 1: 在[1234}中取1个,{567890}取3个,用5678判断
case 0: 丢弃[1234},在{56789}中取4个,用5678判断
}break
第二次判断:想必LZ你也会找到规律了