CCF CSP 201409-2 画图

思路:

1.用一个二维数组存储所有方块是否被涂色;
2.每次涂色改变二维数组的相应部分值即可;

代码:

#include<bits/stdc++.h>
using namespace std;
#define rp(i,n) for(int i=0;i<n;i++)
const int N=105;
bool matrix[N][N];
int main(){
	int n;
	cin>>n;
	rp(i,n){
		int x1,y1,x2,y2;
		cin>>x1>>y1>>x2>>y2;
		for(int j=x1;j<x2;j++){
			fill(&matrix[j][y1],&matrix[j][y1]+y2-y1,true);
		}
	}
	int ans=0;
	rp(i,N) rp(j,N) if(matrix[i][j]) ans++;
	cout<<ans;
	return 0;
}
原文地址:https://www.cnblogs.com/yuhan-blog/p/12308928.html