问题描述 |
---|
TQL喜欢玩积木,她想要使用两种类型的积木(正方体和圆柱体)叠成一座塔楼。除了塔顶的那块积木外,每块积木的正上方只和一块积木相邻。为了塔楼的稳定,从塔的正上方向下看时,每块积木的轮廓都要完全包含在相邻的下方积木的轮廓范围之内。问是否有可能建造这样的一座塔?如果有,这些积木需要按什么顺序堆放? |
输入描述 |
多组案例。一个正整数n,表示案例的数量。(n<=100) 每组案例先是一个正整数m,表示积木的数量。(m<=100) 然后是m行数据,每行数据先是一个字符串a,然后是一个正整数b。如果a等于"cube"表示是正方体,此时b表示正方体的边长;如果a等于"cylinder"表示是圆柱体,此时b表示圆柱体的底面半径(注意圆柱体的高并不影响任何结果)。(b<=1000) |
输出描述 |
针对每组案例,如果无解,则输出impossible;否则从塔楼的顶部到底部依次输出每块积木的信息,格式见【样例】。 |
样例输入复制样例 |
3 3 cube 7 cube 11 cylinder 5 2 cube 5 cylinder 3 3 cube 4 cylinder 2 cube 4 |
样例输出 |
Case 1: cube 7 cylinder 5 cube 11 Case 2: impossible Case 3: cylinder 2 cube 4 cube 4 |
提示说明 |
输出中的冒号是英文的冒号 |
相关 |