小 N 最近在研究 NP 完全问题,小 O 看小 N 研究得热火朝天,便给他出了一道这样的题目:
有
每个筐子最多能装 3 个球。
每个球只能放进特定的筐子中。具体有
每个球都必须放进一个筐子中。如果一个筐子内有不超过
求半空的筐子最多有多少个,以及在最优方案中,每个球分别放在哪个筐子中。
小 N 看到题目后瞬间没了思路,站在旁边看热闹的小 I 嘿嘿一笑:“水题!”
然后三言两语道出了一个多项式算法。
小 N 瞬间就惊呆了,三秒钟后他回过神来一拍桌子:
“不对!这个问题显然是 NP 完全问题,你算法肯定有错!”
小 I 浅笑:“所以,等我领图灵奖吧!”
小 O 只会出题不会做题,所以找到了你——请你对这个问题进行探究,并写一个程序解决此题。
输入格式
第一行包含
对于每组数据,第一行包含
接下来
输出格式
对于每组数据,先输出一行,包含一个整数,表示半空的筐子最多有多少个。
然后再输出一行,包含
样例一
input
1 4 3 6 1 1 2 1 2 2 3 2 3 3 4 3
output
2 1 2 3 3
样例二
见样例数据下载。
限制与约定
对于所有数据,
保证至少有一种合法方案,使得每个球都放进了筐子,且每个筐子内球的个数不超过
各测试点满足以下约定:
测试点编号 | 约定 | |
---|---|---|
1 | ||
2 | ||
3 | ||
4 | 存在方案使得有 | |
5 | 不存在有半空的筐子的方案 | |
6 | ||
7 | 无 | |
8 | ||
9 | ||
10 |
时间限制:
空间限制: