比赛 20161116 评测结果 AAAAAAAAAA
题目名称 删除他们! 最终得分 100
用户昵称 Kulliu 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-11-16 10:55:52
显示代码纯文本
#include<functional>
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cctype>
#include<vector>
#include<cstdio>
#include<queue>
#include<cmath>
#include<ctime>
#include<list>
#include<map>
#include<set>
using namespace std;
#define F(i,l,r) for(int i=l;i<=r;i++)
#define D(i,r,l) for(int i=r;i>=l;i--)
typedef long long LL;
typedef double ld;
const int INF=0x7f7f7f7f;
int main(){
    freopen("deleteit.in","r",stdin);
    freopen("deleteit.out","w",stdout);
	int n,m,q,t;
    scanf("%d%d%d",&n,&m,&q);
    t=n*m;
    int x1,y1,x2,y2,x,y,lx,ly;
    while(q--){
        y=m,x=t/m,lx=x+1,ly=t%m;
        scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
        x1++;x2++;y1++;y2++;
        if(x1<=x&&y1<=y){
            int tx=min(x,x2),ty=min(y,y2);
            t-=(tx-x1+1)*(ty-y1+1);
            if(x1<=lx&&x2>x&&y1<=ly){
                ty=min(y2,ly);
                t-=(ty-y1+1);
            }
        }
        else if(x1<=lx&&y1<=ly){
            int ty=min(y2,ly);
            t-=(ty-y1+1);
        }
    }
    printf("%d\n",t);
    return 0;
}