比赛 20161116 评测结果 AAAAAAEAAA
题目名称 删除他们! 最终得分 90
用户昵称 123 运行时间 1.199 s
代码语言 C++ 内存使用 2.38 MiB
提交时间 2016-11-16 11:57:34
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<vector>
using namespace std;
vector <int> tb[100000];
int n,m,q;
int xa[10000]={0},ya[100000]={0},xb[100000]={0},yb[100000]={0};
int paixu(int y){
	int a,b,d,e;
	d=n*m-y;
	e=0;
	for(a=0;a<n;a++)
	{
		for(b=0;b<m;b++)
		{
			if(tb[a][b]==1)
			{
				tb[a][b]=0;
			}
			e++;
			if(e>d)
				tb[a][b]=2;
		}
	}
	return 0;
}
int main(){
	freopen ("deleteit.in","r",stdin);
	freopen ("deleteit.out","w",stdout);
	int a,b,c;
	int jil;
	cin>>n>>m>>q;
	for(a=1;a<=q;a++)
		cin>>xa[a]>>ya[a]>>xb[a]>>yb[a];
	for(a=0;a<=n;a++)
		for(b=0;b<=m;b++)
			tb[a].push_back(0);
	jil=0;
	for(a=1;a<=q;a++)
	{
		for(b=xa[a];b<=xb[a];b++)
		{
			for(c=ya[a];c<=yb[a];c++)
			{
				if(tb[b][c]==0&&tb[b][c]!=2)
				{
					tb[b][c]=1;
					jil++;
				}
			}
		}
		if(a<q)
		paixu(jil);
	}
	cout<<n*m-jil;
	return 0;
}