比赛 |
20161116 |
评测结果 |
AWWTTTTTTT |
题目名称 |
删除他们! |
最终得分 |
10 |
用户昵称 |
kxxy |
运行时间 |
7.011 s |
代码语言 |
C++ |
内存使用 |
11.76 MiB |
提交时间 |
2016-11-16 11:53:34 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
vector<int>A[1000010];
///*
int n,m,q;
int x1,y1,x2,y2;
int ans=0;
long long sum=0;
inline void deleteit(int xx,int yy,int xxx,int yyy)
{
for(int i=xx;i<=xxx;i++)
for(int j=yy;j<=yyy;j++)
A[i][j]=0;
}
inline void polishing()
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
if(i<n-1&&A[i][j]==0)
{
for(int k=i+1;k<n;k++)
if(A[k][j]==1)
{
A[i][j]=1;
A[k][j]=0;
break;
}
}
if(j<m-1&&A[i][j]==0)
{
for(int k=j+1;k<m;k++)
if(A[i][k]==1)
{
A[i][j]=1;
A[i][j+1]=0;
break;
}
}
if(i<n-1&&A[i][j]==0)
{
for(int k=0;k<m;k++)
{
if(A[i+1][k]==1)
{
A[i][j]=1;
A[i+1][k]=0;
break;
}
}
}
}
}
inline void summ()
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(A[i][j]==1)
sum++;
printf("%d\n",sum);
}//*/
int main()
{
freopen("deleteit.in","r",stdin);
freopen("deleteit.out","w",stdout);
scanf("%d%d%d",&n,&m,&q);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
A[i].push_back(1);
for(int i=0;i<q;i++)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
deleteit(x1,y1,x2,y2);
polishing();
}
summ();
return 0;
}