记录编号 |
582433 |
评测结果 |
AAAAAAAAAA |
题目名称 |
删除他们! |
最终得分 |
100 |
用户昵称 |
在大街上倒立游泳 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.000 s |
提交时间 |
2023-09-11 21:08:17 |
内存使用 |
0.00 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,q,s,x1,x2,yy,y2,hang,lie;
int main(){
freopen("deleteit.in","r",stdin);
freopen("deleteit.out","w",stdout);
cin>>n>>m>>q;
s=m*n;
for(int i=1;i<=q;i++){
cin>>x1>>yy>>x2>>y2;
if(x1>x2) swap(x1,x2);
if(yy>y2) swap(yy,y2);
hang=(s-1)/m;
lie=s-hang*m-1;//求出最后一个点坐标
if(x1>hang) continue;
s-=(x2-x1+1)*(y2-yy+1);
if(hang>x2) continue;
else
{
if(y2<=lie) s+=(x2-hang)*(y2-yy+1);
else{//y2>lie
s+=(x2-hang)*(y2-yy+1);
s+=y2-max(yy-1,lie);
}
}
}
cout<<s;
return 0;
}