网站页面
当前课程
成员
General
主题 1
主题 2
主题 4
主题 5
主题 6
主题 7
主题 8
主题 9
主题 10
主题 11
主题 12
主题 13
主题 14
主题 15
主题 16
主题 17
主题 18
主题 19
主题 20
[GZOI2011]组合式家具
成绩 | 0 | 开启时间 | 2013年02月21日 星期四 23:02 |
折扣 | 0.8 | 折扣时间 | 2013年02月28日 星期四 23:02 |
允许迟交 | 是 | 关闭时间 | 2013年02月28日 星期四 23:02 |
输入文件 | pack.in | 输出文件 | pack.out |
题目描述:
你在一个组合式家具厂工作,这种组合式家具由各种形状不同的组件组成,例如:
图1 三种不同形状的组件
这些组件生产出来后将被自动装箱,组件按生产的次序落下,第一个组件落在箱子底部,其后的组件依次落下,直至组件接触到之前装入的组件或箱子底部。例如,假设组件按图1从左至右的次序生产出来,装箱结果将如图2左所示。假如按图1从右至左的次序生产出来,装箱结果将如图2右所示。
图2 不同的生产次序导致两种不同的装箱结果
由于箱子高度有限,如图2左,三个组件已经超过了箱子的高度,这种情况第三个组件及之后的组件需要用新的箱子来装。
你的工作是为自动装箱系统编写程序,根据组件生产的次序,输出装完这些组件后,每个箱子的组件堆叠的高度。
输入格式(Pack.in):
第一行是用空格分隔的三个整数n,w,b。n是一套家具的组件数,1<=n<=100,w和b是箱子的宽和高,1<=w<=10,1<=b<=100。接下来是n个组件的形状描述,按生产的次序排列,每个组件描述第一行是一个整数h,1<=h<=10且h<=b,接下来h行每行w个字符,描述组件的形状,“X”代表组件的部分,“.”代表空间。
输出格式(Pack.out):
m个整数(m代表装箱所需的箱子数),按装箱的次序输出m个箱子里组件的高度。
样例
Pack.in |
Pack.out |
3 5 12 |
9 6 |