合法牌局
时间限制:1秒 内存限制:256M
【问题描述】
给定 \(N\) 张牌,\(N=3k+1\)(\(k\) 为非负整数)。每张牌上印有一个数字,这个数字是 \(1~M\) 的自然数里的其中一个。现在可以再往里面加一张牌,如果这 \(3K+2\) 张牌可以分为 \(K\) 组 3 张的牌,每一组的 3 张牌必须印有相同数字或者连续数字,剩下的两张牌则必须印有相同的数字,这样这个局面就称之为合法的。
现在请问,这M种牌中有哪几种加一张牌进去可以让局面变成合法的?
如当 \(N=4,M=9\) 时,这 4 张牌分别印有 1,2,3,4,那么把 1 加进去,可分为 23411 的合法局面;把 4 加进去,也可以分为 12344 的合法局面,而剩下的 2 3 5 6 7 8 9 中任一个加进去都无法分成合法局面。
【输入格式】
第一行为一个整数 \(T(T<=5)\),表示有 \(T\) 组数据。
每组数据有两行,第 1 行是两个整数 \(N,M\);第 2 行有 \(M\) 个整数,第 I 个整数表示印有数字 \(I\) 的牌有多少张,\(N\) 保证除以 3 的余数为 1。
【输出格式】
对每组测试数据输出一行,仅含一个整数,表示有多少种牌加进去是合法的。
【输入输出样例】
Input
2
4 9
1 1 1 1 0 0 0 0 0
1 1
1
Output
2
1
【数据限制】
\(1<=N<=10000\)
\(1<=M<=200\)
【来源】
Mr.he