RT
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MAXN=2.5e3+5;
ll n,m;
char mp[MAXN][MAXN];
ll vis[MAXN][MAXN],cnt;
ll F[MAXN][MAXN];
bool E[MAXN][MAXN];
ll sum_E[MAXN][MAXN];
ll q;
ll x_1,y_1,x_2,y_2;
ll dx[4]={-2,0,0,2},dy[4]={0,-2,2,0};
bool fail[MAXN];
bool dfs(ll now_x,ll now_y){
if(now_x<2||now_x>=2*n||now_y<2||now_y>=2*m)return 0;
if(vis[now_x][now_y])return 1;
vis[now_x][now_y]=cnt;
bool res=1;
for(int i=0;i<4;i++)if(!E[now_x+dx[i]/2][now_y+dy[i]/2])res&=dfs(now_x+dx[i],now_y+dy[i]);
return res;
}
set<ll> S;
int main(){
cin>>n>>m>>q;
for(int i=1;i<=n*2;i+=2)for(int j=1;j<=m*2;j+=2)cin>>mp[i][j];
for(int i=1;i<=n*2;i+=2)for(int j=1;j<=m*2;j+=2){
if(mp[i][j]==mp[i+2][j])E[i+1][j]=1;
if(mp[i][j]==mp[i][j+2])E[i][j+1]=1;
}
for(int i=1;i<=n*2;i++)for(int j=1;j<=m*2;j++)sum_E[i][j]=sum_E[i-1][j]+sum_E[i][j-1]-sum_E[i-1][j-1]+E[i][j];
for(int i=2;i<n*2;i+=2)for(int j=2;j<m*2;j+=2)if(!vis[i][j]){
cnt++;
F[i][j]=dfs(i,j);
if(F[i][j]==0)fail[cnt]=1;
}
for(int i=2;i<=n*2;i++)for(int j=1;j<=m*2;j++)F[i][j]=F[i-1][j]+F[i][j-1]-F[i-1][j-1]+F[i][j];
for(int i=1;i<=q;i++){
cin>>x_1>>y_1>>x_2>>y_2;
ll V=(x_2-x_1+1)*(y_2-y_1+1);
x_1=1+(x_1-1)*2;
x_2=1+(x_2-1)*2;
y_1=1+(y_1-1)*2;
y_2=1+(y_2-1)*2;
ll now_E=sum_E[x_2][y_2]-sum_E[x_2][y_1-1]-sum_E[x_1-1][y_2]+sum_E[x_1-1][y_1-1];
ll now_F=F[x_2][y_2]-F[x_2][y_1-1]-F[x_1-1][y_2]+F[x_1-1][y_1-1];
S.clear();
if(x_1!=x_2&&y_1!=y_2){
bool fl=0;
for(int j=y_1+1;j<=y_2;j+=2){
if(!E[x_1][j]&&vis[x_1+1][j]==vis[x_1-1][j]&&!fail[vis[x_1+1][j]])S.insert(vis[x_1+1][j]);
else if(!E[x_2][j]&&vis[x_2+1][j]==vis[x_2-1][j]&&!fail[vis[x_2+1][j]])S.insert(vis[x_2+1][j]);
else fl=1;
}
for(int j=x_1+1;j<=x_2;j+=2){
if(!E[j][y_1]&&vis[j][y_1-1]==vis[j][y_1+1]&&!fail[vis[j][y_1+1]])S.insert(vis[j][y_1+1]);
else if(!E[j][y_2]&&vis[j][y_2-1]==vis[j][y_2+1]&&!fail[vis[j][y_2+1]])S.insert(vis[j][y_2+1]);
else fl=1;
}
now_F-=S.size();
if(fl==0)now_F++;
}
// cout<<"debug: "<<"V="<<V<<" now_F="<<now_F<<" now_E="<<now_E<<endl;
cout<<V+now_F-now_E<<'\n';
}
return 0;
}
不知道哪个细节没注意到/kk