D__恶魔猎手征兵

来源:互联网 发布:如何手机注销淘宝账号 编辑:程序博客网 时间:2024/04/27 18:24

【链接】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;}



原创粉丝点击