标签:blog io ar os 使用 sp for on 数据
题目:给定一个矩形点集,从里面扣掉一些小矩形点集,问最后还有多少个点。
分析:简单题。由于数据较小,暴力就可以了,数据大时,可使用线段树。
说明:
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
bool maps[505][505];
int main()
{
int w, h, n, x1, y1, x2, y2;
while (~scanf("%d%d%d",&w,&h,&n) && w) {
memset(maps, true, sizeof(maps));
for (int i = 0; i < n ; ++ i) {
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if (x1 > x2) swap(x1, x2);
if (y1 > y2) swap(y1, y2);
for (int j = x1; j <= x2 ; ++ j)
for (int k = y1; k <= y2 ; ++ k)
maps[j][k] = 0;
}
int ans = 0;
for (int i = 1; i <= w ; ++ i)
for (int j = 1; j <= h ; ++ j)
if(maps[i][j])
ans ++;
if (ans == 0)
printf("There is no empty spots.\n");
else if (ans == 1)
printf("There is one empty spot.\n");
else
printf("There are %d empty spots.\n",ans);
}
return 0;
}
标签:blog io ar os 使用 sp for on 数据
原文地址:http://blog.csdn.net/mobius_strip/article/details/41911815