题目描述
假设第四代移动电话的收发站是这样运行。整个区域被分割成很小的方格。所有的方格组成了一个S*S的矩阵,行和列从0~S-1编号。每个小方格都包含一个收发站。每个方格内的开机的移动电话数量可以不断改变,因为手机用户在各个方格之间移动,也有用户开机或者关机。一旦某个方格里面开机的移动电话数量发生了变化,该方格里的收发站就会向总部发送一条信息说明这个改变量。
总部要你写一个程序,用来管理从各个收发站收到的信息。老板可能随时会问:某一个给定矩形区域内有多少部开机的移动电话啊?你的程序必须要能随时回答老板的问题。
输入输出数据要求
从标准输入读入整数,向标准输出写入你对老板问题的回答。
输入数据的格式如下:每个输入独立成一行。一个输入包括一个指示数和一些参数,见下表:
所有的数据总是在给定的范围内,你不需要查错。特别的,如果A是负数,你可以认为该操作不会让该格子的开机移动电话数变成负数。格子是从0开始编号的,比如一个4*4的区域,所有的格子(X,Y)应该表示为0<=X<=3,0<=Y<=3。
样例数据
样例输入
0 4 //初始化44的区域.
1 1 2 3 //格子(1,2)加3。
2 0 0 2 2 //询问矩形0<=X<=2,0<=Y<=2里面的开机移动电话总量
1 1 2 -1 //格子(1,2)减1。
2 1 1 2 3 //询问矩形1<=X<=2,1<=Y<=3里面的开机移动电话总量。
3
样例输出
3 //回答询问
2 //回答询问