Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;}int row[15],col[15];int main(){int n,m,k;n=read();m=read();k=read();for(int i=0;i<k;i++)row[i]=read(),col[i]=read();long long tot=1ll*n*(n+1)*m*(m+1)/4,tmp;int maxx=(1<<k)-1,l,r,u,d,cnt;for(int i=1;i<=maxx;i++){cnt=0;l=m+1,r=0,d=n+1,u=0;for(int j=0;j<k;j++){if(i&(1<<j)){cnt++;l=min(l,col[j]);r=max(r,col[j]);u=max(u,row[j]);d=min(d,row[j]);}}tmp=1ll*l*d*(n-r+1)*(m-u+1);if(cnt%2)tot-=tmp;else tot+=tmp;}