`
YuHuang.Neil
  • 浏览: 180729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

互联网公司面试题之十

阅读更多
问题:Sun同学是考研大军之中的一员,他每天过着三点一线的生活。学校里面有一个公告栏,他每天都看到上面张贴着各种考研海报。Sun同学提出一个问题:公告栏上还有多少空白区域是没有被考研海报粘贴过的呢?请你帮他完成这样一个程序,计算没有张贴过海报的面积。

注意:
公告栏左上角是坐标原点(0,0),公告栏长宽相等。
数据有多组,每组输入公告栏长度n(0<n<=100)。
海报张数m(0<m<=100),以及每张海报的左上角坐标(x1,y1)和右下角坐标(x2,y2)。
注意:其中坐标有可能小于0,大于n,但在int范围内。

答:代码实现如下:

i,j,t,x,y,w,z,c,a[100][100]={0,};
main(n,m){
    for(;~scanf("%d%d",&n,&m);){
       for(t=0;t<m;++t) {
           scanf("%d%d%d%d",&x,&y,&w,&z);
           x=x<0?0:x; x=x>n?n:x;
           y=y<0?0:y; y=y>n?n:y;
           w=w<0?0:w; w=w>n?n:w;
           z=z<0?0:z; z=z>n?n:z;
           for(i=w-1;i>=x;--i) 
              for(j=z-1;j>=y;--j) a[i][j]=1;        
       }
       for(c=i=0;i<n;++i)
         for(j=0;j<n;++j) if(!a[i][j]) ++c;
       printf("%d\n",c);
       for(i=0;i<n;++i)
         for(j=0;j<n;++j) a[i][j]=0;
    }
}



运行结果:


  • 大小: 13.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics