比赛 |
20161116 |
评测结果 |
AAAAAAAAAA |
题目名称 |
删除他们! |
最终得分 |
100 |
用户昵称 |
农场主 |
运行时间 |
0.003 s |
代码语言 |
C++ |
内存使用 |
0.29 MiB |
提交时间 |
2016-11-16 11:47:36 |
显示代码纯文本
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int num;
int n,m,q,x,y;
void Del(int x1,int y1,int x2,int y2){
// x1=n-x1; x2=n-x2;
int cnt=0;
if (x<x1) return;
if (x>x2){
num-=(x2-x1+1)*(y2-y1+1);
return;
}
x2=x;
num-=(x2-x1+1)*(y2-y1+1);
if (y<y1) {
num+=y2-y1+1;
return;
}
if (y>y2){
return;
}
y1=y;
num+=y2-y1;
}
void init(){
x=num/m;
if (num%m) x++;
y=num%m;
if (y==0) y=m;
}
void read(){
scanf("%d%d%d",&n,&m,&q);
num=n*m;
x=n; y=m;
int x1,y1,x2,y2;
for (int i=1;i<=q;i++){
// printf("%d\n",num);
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
// if (x1>=x2||y1>=y2) printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");
Del(min(x1,x2)+1,min(y1,y2)+1,max(x1,x2)+1,max(y1,y2)+1);
init();
}
}
int main(){
freopen("deleteit.in","r",stdin);
freopen("deleteit.out","w",stdout);
read();
printf("%d",num);
return 0;
}