CCF201409(2)画图叠加矩形总面积

    xiaoxiao2021-03-25  76

    最开始一直在用数学方法计算所有矩形面积和然后减去重叠部分,然而对于n较多且复杂多重合的情况易出错,用了很长时间在想各种重叠类型,最后还不如老老实实遍历标记呢QAQ

    简图和AC代码附上:

    技巧点在:每个小方块标记左下角顶点和for循环标记的坐标范围

    #include<stdio.h> int main() { int n,i,j,k; int sum=0; int a[100][100]={0}; int x1,x2,y1,y2; scanf("%d",&n); for(k=0;k<n;k++) { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); for(i=x1;i<x2;i++) for(j=y1;j<y2;j++) if(!a[i][j]) { a[i][j]=1; sum++; } } printf("%d",sum); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-34252.html

    最新回复(0)