求这道题的算法~~不知道怎么入手
4129: 小伙伴们游西湖Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 133 Solved: 28
Description
一群小伙伴们打算去打的去西湖,除去司机,一辆出租车只能坐4人,其中前排1人后排3人,小伙伴们有各自的要求,我们按要求把所有人分成若干堆,堆的分类如下:
1. 无所谓跟一起坐车
2. 同寝室的a个人(2 <= a <= 4)要求坐在同一辆车上
3. 情侣要求都坐在车的后座,而且要坐相邻的位置。
注意:每个人都只属于一个分类。
问你至少要多少辆出租车能让所有小伙伴都能去西湖。
Input
第一行输入一个组数T(T<= 100),对于每一组测试数据,输入一个正整数n( n <= 100),表示有n堆人, 然后输入n行,每行先输入分类标号type :
1. type = 1 之后没有输入
2. type = 2 之后输入 一个整数a(2 <= a <= 4)
3. type = 3 之后没有输入
Output
对于每组测试数据,输出一个正整数
Sample Input
2
2
1
1
2
3
3
Sample Output
1
2
求代码或算法。。。想了很久不知道怎么入手