Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <queue>
- #include <cstring>
- #include <map>
- using namespace std;
- int prefs[1000][1000];
- int query(int row, int i, int j) {
- if(i == 0) {
- return prefs[row][j];
- }
- return prefs[row][j] - prefs[row][i - 1];
- }
- int main()
- {
- int n,q;
- cin>>n>>q;
- char x[n][n];
- int y[n][n];
- for(int i =0;i<n;i++){
- for(int j = 0;j<n;j++){
- cin>>x[i][j];
- }
- }
- for(int i =0;i<n;i++){
- for(int j = 0;j<n;j++){
- if(x[i][j]=='*'){
- y[i][j]=1;
- }else if(x[i][j]=='.'){
- y[i][j]=0;
- }
- }
- }
- int sum=0;
- for(int i =0;i<n;i++){
- sum=0;
- for(int j = 0;j<n;j++){
- sum+=y[i][j];
- prefs[i][j]=sum;
- }
- }
- int x1,y1,x2,y2;
- for(int i=0;i<q;i++){
- int sum=0;
- cin>>x1>>y1>>x2>>y2;
- x1--;
- x2--;
- y1--;
- y2--;
- for(int j =x1;j<=x2;j++){
- int x=query(j,y1,y2);
- sum+=x;
- }
- cout<<sum<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment