比赛 20161116 评测结果 AAAWWWWWWW
题目名称 删除他们! 最终得分 30
用户昵称 coolkid 运行时间 0.036 s
代码语言 C++ 内存使用 0.25 MiB
提交时间 2016-11-16 11:53:19
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int ld,lp;
int N,M,Q;
int ans=0;

int main(){
	freopen("deleteit.in","r",stdin);
	freopen("deleteit.out","w",stdout);
	scanf("%d%d%d",&N,&M,&Q);
	ld=N-1;lp=M-1;ans=N*M;
	for(int i=1;i<=Q;i++){
		int x,y,xx,yy;
		scanf("%d%d%d%d",&x,&y,&xx,&yy);
		int n=0;
		if((xx<ld)||((xx==ld)&&(yy<=lp))){//case1
			n=(xx-x+1)*(yy-y+1);
		}else if(x<ld||(x==ld&&y<=lp)){//case2

			n=(xx-x+1)*(yy-y+1);
			int W=yy-lp;
			if(y>lp) W=yy-y+1;
			if(yy<=lp) W=0; 
			n=n-(xx-ld)*(yy-y+1)-W;
		}//case3
		ans-=n;
		int L=n/M;
		int C=n%M;
		if(lp<C){
			ld--;
			lp+=N;
			lp-=C;
		}else lp-=C;
		ld-=L;
	}
	printf("%d\n",ans);
	return 0;
}
/*
5 5 4
0 1 2 3
3 3 4 4
3 2 4 2
2 2 3 4
*/