D__恶魔猎手征兵

【链接】nbu1709点击打开链接

【题目】

D__恶魔猎手征兵

Time Limit:1000MS  Memory Limit:65536K

Description

聪明的泰兰德很快破译了密码,她也用“恺撒移位密码”给恶魔猎手回了封信,大意是她要考验他,要恶魔猎手证明自己。
于是恶魔猎手为了证明自己的实力,准备去攻打兽族,兽族实在太可恶了,老是侵略精灵族不说,还经常乱砍乱伐,残害小动物。于是为了维护生态平衡,为了保护小动物,恶魔猎手向兽族正式宣战了!但由于现在人手还不够,他准备面向信息学院的所有acmer征兵,为了提高知名度,他准备在信息学院的宣传栏上贴宣传海报。
宣传栏的大小为n*m的矩形,他的海报非常有个性只有1*1的大小。但是现在宣传栏已经有很多其他的海报贴上去了,而且存在重叠。由于恶魔猎手非常有素质,他的海报不会去覆盖别人的海报。
所以现在要求你计算出在宣传栏上他还能够贴的最多海报张数。

Input

测试数据由多组数据构成。
每组代表一个宣传栏,有k+1行。
第一行:n m k三个整数。(n、m代表矩形的大小,k代表已经贴在该宣传栏上海报张数,1<=n,m<=100,0<=k<=100)
接下来的k行里,每行都是四个整数x1,y1,x2,y2。
注意:海报左下角坐标为(x1,y1),表右上角坐标为(x2,y2);宣传栏的左下角坐标为(0,0),右上角坐标为(n,m),也就是可以认为宣传栏是由n*m个小正方形组成。

Output

输出有多组。
每组输出相应的恶魔猎手最多能贴的海报张数。

Sample Input

1 1 1
0 0 1 1
2 2 1
1 0 2 1
5 5 2
2 3 5 4
3 4 5 5
10 10 3
8 9 10 10
0 7 2 8
6 9 9 10

Sample Output

0
3
20
94
【代码】

#include<stdio.h>
#include<string>
int mark[101][101];
int main()
{
	int n,m,k,i,j,sum;
	int x1,y1,x2,y2;
	while(scanf("%d%d%d",&n,&m,&k)!=EOF)
	{
		memset(mark,0,sizeof(mark));
		while(k--)
		{
			scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
			for(i=x1;i<x2;i++)
				for(j=y1;j<y2;j++)
				{
					if(!mark[i][j])
						mark[i][j]=1;
				}
		}
		sum=0;
		for(i=0;i<n;i++)
			for(j=0;j<m;j++)
				if(!mark[i][j])
					sum++;
				printf("%d\n",sum);
	}
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值