#W2679. 巧克力

巧克力

题目描述

John有n个盒子,第i个盒子里有ci块巧克力(盒子可以为空),盒中的巧克力排成一行,从左到右编号分别为1,2,⋯ ,ci。每块巧克力有一定的耐久度,当耐久度为0时,巧克力会碎掉并开始融化,这时John只能把它吃了。

现在已知初始时,每个盒子里巧克力的耐久度,接着会有m次操作。操作分为3种,每种操作会使得被操作的每块巧克力耐久度减少1。

·操作1:把第x盒子里的巧克力按从左到右的顺序放入第y个盒子中。(第y个盒子里巧克力的耐久不变,新放入的巧克力按顺序放入第y个盒子里的最右边)

·操作2:把第x个盒子里的巧克力按从右到左的顺序放入第y个盒子中。(第y个盒子里巧克力的耐久不变,新放入的巧克力按逆序序放入第y个盒子里的最右边)

·操作3:把第x个盒子里的巧克力顺序翻转。

现在John想知道m操作后,每个盒子中巧克力的数量以及每块巧克力的耐久度。

输入格式

第一行两个整数n,m(1≤n,m≤1000),表示n个盒子和m次操作。

接下来n行,每行以一个整数ci(0≤ci≤1000)开头,表示初始时每个盒子中巧克力的数量,接下来ci个整数,表示每个巧克力的耐久度,耐久度为不超过1000的正整数。

接下来m行,每行第一个整数op,表示操作的种类。若op为1、2,接下来两个整数x,y;若op为3,接下来一个整数x。具体含义如前文所述。

输出格式

n行,每行以一个整数ci开头,表示每个盒子中巧克力的数量,接下来ci个整数表示每个巧克力的耐久度,整数之间用空格隔开(行尾不要有多余空格)。

2 2
3 1 2 3
3 1 2 3
1 1 2
3 2
0

3 1 2 1

</p>

提示

第一次操作后,第1个盒子为空,第2个盒子有5块巧克力,耐久度分别为1,2,3,1,2。

第二次操作后,第1个盒子为空,第2个盒子有3块巧克力,耐久度分别为1,2,1。

来源

动态数组