标题:神秘岛上的遗迹
只看楼主
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
 问题点数:0 回复次数:4 
神秘岛上的遗迹
考古学家在神秘岛上发现了一处古代先民的遗迹。该遗迹的地面建筑已经倒塌,只留下地基。经初步考证得知该遗迹外围呈矩形,内部由东西走向和南北走向的石头墙隔成一个个大小不一的矩形房间,(如图1所示)。该遗迹的来历是一个谜,考古学家试图通过计算其中房间的数量来得到线索。但该遗迹的结构十分复杂,直接计算容易出错。于是,他们决定利用计算机进行计算。为此,他们测量出了该遗迹的长和宽,以及其内部每堵墙两端的位置。测量时参考坐标系按如下方法设定:原点取在遗迹西南角的位置上(图1 中的位置o),x轴的方向由西指向东,y轴的方向由南指向北。在测量中,首尾相接的同一走向的墙当作一堵墙处理。他们发现测量得到的所有数据都是非负整数。现在请你设计一个程序求该遗迹中的房间数量。



图1




Input

输入的第一行含一个正整数k,表示测试例个数。下面紧接着k个测试例的数据。每个测试例数据的第一行含四个正整数a,b,m和n(m,n<=1000),其中,a和b分别表示遗迹外围东西向和南北向的长度;m和n分别表示遗迹内部东西走向和南北走向的墙的数目。接下来的m行每行含3个非负整数x1, x2和y,表示一堵东西走向的墙的两端位置,其中(x1, y)和(x2, y)分别为墙的西端和东端的位置坐标。再接下来的n行每行同样含3个非负整数x, y1和y2,表示一堵南北走向的墙的两端位置,其中(x, y1)和(x, y2)分别为墙的南端和北端的位置坐标。同一行的数据之间用一个空格隔开,两个测试例之间用一个空行隔开。

Output

对应每个测试例输出一个整数,表示遗迹中房间的数量。一个整数占一行。

Sample Input


2
4 4 1 1
0 4 2
2 0 4

3 6 2 1
0 1 4
1 3 2
1 0 6

Sample Output


4
4

Source

[[it] 本帖最后由 心剑菩提 于 2008-3-11 20:40 编辑 [/it]]
搜索更多相关主题的帖子: 神秘 遗迹 
2008-03-10 22:52
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
得分:0 
各位大哥大姐 有什么心得想法啊 交流一下

前世五百次的回眸 才换来今生的擦肩而过
2008-03-11 20:43
心剑菩提
Rank: 1
等 级:新手上路
帖 子:249
专家分:0
注 册:2007-5-17
得分:0 
#include <stdio.h>
int main ()
{
   int t;
    scanf("%d",&t);
     while(t--)
    {
      int a,b,m,n;
      scanf("%d%d%d%d",&a,&b,&m,&n);
      int x1[m+2],x2[m+2],y[m+2],y1[n+2],y2[n+2],x[n+2],i,j;
      for(i=1;i<=m;i++)
        scanf("%d%d%d",&x1[i],&x2[i],&y[i]);
      for(i=1;i<=n;i++)
        scanf("%d%d%d",&x[i],&y1[i],&y2[i]);
      x1[0]=0;x2[0]=a;y[0]=0;
      x1[m+1]=0;x2[m+1]=a;y[m+1]=b;
      y1[0]=0;y2[0]=b;x[0]=0;
      y1[n+1]=0;y2[n+1]=b;x[n+1]=a;
      int num=0;
      for(i=0;i<m+1;i++)
      {
        for(j=0;j<n+2;j++)
        {
          if((x[j]==x1[i])+(x[j]==x2[i])+((x[j]>x1[i])&&(x2[i]>x[j])))
              if ((y2[j]>y[i])&&(y1[j]<=y[i]))
                  num++;
        }
        num--;
      }
      printf("%d\n",num);    
    }
    return 0;
}

前世五百次的回眸 才换来今生的擦肩而过
2008-03-15 09:30
bianfeng
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-28
得分:0 
没有图看不明白
2008-03-15 16:39
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
得分:0 
你的图呢 我想做做````
2008-03-15 18:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-202848-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.657836 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved