布匠问题

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 fabric.in 输出文件 fabric.out

                         布匠的问题
     布匠L所居住的城市遭遇了虫灾!这是一个天大的坏消息,因为虫子会吃掉L的布匹。
但是L是一个优秀的布匠,他可以给自己的布打补丁,弥补被虫子吃掉的部分。
从现在到虫灾结束的每一天里,虫子都可能会袭击L的布匹,但是如果某一天没有发生袭击事件,L将会为他的布匹打补丁,或者向你询问他的布匹的某一个区域内有多少个虫洞。
L的布被描述为一个N*M的矩形,矩形分为N*M个单元格。每次虫群袭击会吃掉一块R*Q的矩形布块(虫群可能会袭击没有布的区域,比如前面已经被吃掉了),如果没有虫群袭击,当日L将会将一块S*T的矩形区域内的所有被吃掉的单元格打上补丁,或者向你发出一次询问。请设计程序对L的每次询问做出回答。

输入格式:
第一行三个整数 N,M,Q,(Q为虫灾持续的天数)
第2到第Q+1行,每行5个整数
O x1 y1 x2 y2
若O=0 表示今天L向你发出询问,在左上角坐标为x1,y1右下角坐标为x2,y2的矩形内有多少个被虫吃掉的单元格
若O=1表示今天虫群将袭击左上角坐标为x1,y1右下角坐标为x2,y2的矩形布匹
若O=2表示今天L将为左上角坐标为x1,y1右下角坐标为x2,y2的矩形布匹内缺失的单元格打上补丁。(若没有虫洞则不打补丁,打的补丁后来也可能会被吃掉)

输出格式:
对于L的每一个询问输出一个答案,每行一个

样例输入 fabric.in
4 5 4
1 2 2 3 4
0 1 2 2 5
2 3 1 3 3
0 1 1 4 5
样例输出 fabric.out
3
4
数据规模
对于30%的数据 1<=N,M<=200;
对于100%的数据 1<=N,M<=1000,1<=Q<=10000

 

By Pom