CCF201409-2 画图
题目:
题目分析:
统计涂色面积:
1.把纸看作一个二维数组a[105][105],一开始未涂色,均为0,涂色时a[i][j]=1;
2.循环得到n次输入的(x1,y1)、(x2,y2) ,从x:x1->x2、y:y1->y2 的所有
a[x][y]=1;
3.遍历a[][],如果a[i][j]=1,则面积ans++;
4.输出ans。
代码如下,有详细注释:
#include<iostream>
using namespace std;
int a[105][105],n,ans;
int main(){
cin>>n; //输入
while(n--){//n次输入
int x1=0,x2=0,y1=0,y2=0;
cin>>x1>>y1>>x2>>y2; //输入(x1,y1)、(x2,y2)
for(int x=x1;x<x2;x++) //从x1->x2
for(int y=y1;y<y2;y++) //从y1->y2
a[x][y]=1; //涂色
}
for(int i=0;i<104;i++) //遍历数组a[][]
for(int j=0;j<104;j++)
if(a[i][j]==1)ans++; //涂色则面积+1
cout<<ans<<endl; //输出
return 0;
}