比赛 |
20161116 |
评测结果 |
AAAWWWWWWW |
题目名称 |
删除他们! |
最终得分 |
30 |
用户昵称 |
Shirry |
运行时间 |
5.166 s |
代码语言 |
C++ |
内存使用 |
114.78 MiB |
提交时间 |
2016-11-16 09:19:17 |
显示代码纯文本
#include<cstdio>
#include<vector>
char buf[1<<15],*fs,*ft;
inline char gc(){
return fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft)?0:*fs++;
}
inline int read(){//看看数据大小
int x=0,ch=gc();
bool rev=false;
while(ch<'0'||ch>'9'){
if(ch=='-')rev=true;
ch=gc();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+ch-'0';
ch=gc();
}
return rev?~x+1:x;
}
using namespace std;
vector<int>A[10000000];
int n,m,q,sum=0;
void Init(int x,int y){
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
A[i].push_back(1);
}
}
}
void Polishing(){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(i<n-1&&A[i][j]==0&&A[i+1][j]==1){
A[i][j]=1;
A[i+1][j]=0;
}
if(j<m-1&&A[i][j]==0&&A[i][j+1]==1){
A[i][j]=1;
A[i][j+1]=0;
}
if(i<n-1&&A[i][j]==0&&A[i+1][0]==1){
A[i][n-1]=1;
A[i+1][0]=0;
}
}
}
}
void Del(int x,int y,int x1,int y1){
for(int i=x;i<=x1;i++){
for(int j=y;j<=y1;j++){
if(A[i][j]==1)
sum++;
A[i][j]=0;
}
}
}
int main(){
freopen("deleteit.in","r",stdin);
freopen("deleteit.out","w",stdout);
n=read();
m=read();
q=read();
Init(n,m);
for(int i=1;i<=q;i++){
int x,y,x1,y1;
x=read();
y=read();
x1=read();
y1=read();
Del(x,y,x1,y1);
Polishing();
}
sum=n*m-sum;
printf("%d",sum);
return 0;
}