题解```cpp #include<bits/stdc++.h>
using namespace std;
int x[600],y[600]; int a,b,c; int flag[20010],q[20010],m,n; int main() { cin>>a>>b>>c; for(int i=1;i<=c;i++) cin>>x[i]>>y[i],q[x[i]]=1; for(int i=1;i<=a;i++) { if(q[i]) continue; m=b; for(int j=1;j<=c;j++) { if(flag[y[j]]!=i) m-=1; flag[y[j]]=i; if(x[j]<i) { if(y[j]+i-x[j]>=1&&y[j]+i-x[j]<=b) { if(flag[y[j]+i-x[j]]!=i) m-=1; flag[y[j]+i-x[j]]=i; } if(y[j]-i+x[j]>=1&&y[j]-i+x[j]<=b) { if(flag[y[j]-i+x[j]]!=i) m-=1; flag[y[j]-i+x[j]]=i; } } else { if(y[j]+(x[j]-i)>=1&&y[j]+(x[j]-i)<=b) { if(flag[y[j]+(x[j]-i)]!=i) m-=1; flag[y[j]+(x[j]-i)]=i; } if(y[j]-(x[j]-i)>=1&&y[j]-(x[j]-i)<=b) { if(flag[y[j]-(x[j]-i)]!=i) m-=1; flag[y[j]-(x[j]-i)]=i; } } } n+=m; } cout<<n; return 0; }