Chinaunix首页 | 论坛 | 博客
  • 博客访问: 473299
  • 博文数量: 59
  • 博客积分: 345
  • 博客等级: 二等列兵
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-18 22:44
个人简介

to be myself

文章分类

全部博文(59)

文章存档

2017年(5)

2013年(47)

2012年(3)

2011年(4)

分类: C/C++

2013-03-02 17:04:06


点击(此处)折叠或打开

  1. #include <stdio.h>

  2. struct
  3. {
  4.   ints;
  5.   int f;
  6. }MovingEvent[201];

  7. void swap(int *a, int *b)
  8. {
  9.   int t;
  10.   t = *a;
  11.   *a = *b;
  12.   *b= t;
  13. }

  14. int main()
  15. {
  16.   int m,n, i, j, count[401], time;
  17.   scanf("%d", &m);
  18.   while(m--)
  19.   {
  20.       scanf("%d", &n);
  21.        i = 1;
  22.        time = 0;
  23.       memset(count, 0, sizeof(count));
  24.       while(i <=n)
  25.       {
  26.           scanf("%d%d", &MovingEvent[i].s, &MovingEvent[i].f);
  27.           MovingEvent[i].s= MovingEvent[i].s%2==0 ? MovingEvent[i].s/2 : MovingEvent[i].s/2+1;
  28.           MovingEvent[i].f = MovingEvent[i].f%2==0 ? MovingEvent[i].f/2 : MovingEvent[i].f/2+1;
  29.           if(MovingEvent[i].s> MovingEvent[i].f)
  30.           {
  31.               swap(&MovingEvent[i].s, &MovingEvent[i].f);
  32.           }
  33.           i++;
  34.       }
  35.       for(i=1;i<=201;i++)
  36.       {
  37.           for(j=1;j<=n;j++)
  38.           {
  39.               if((MovingEvent[j].s<= i)&&(MovingEvent[j].f >= i))
  40.               {
  41.                   count[i]++;
  42.               }
  43.           }
  44.           if(time < count[i])
  45.           {
  46.               time = count[i];
  47.           }
  48.       }
  49.       printf("%dn", time * 10);
  50.   }
  51.   return 0;
  52. }

  53. /*
  54. 下面这个是刚开始用贪心时测试时弄的输出,因为这组是错的,所以输出来看下运算过程。
  55. 结果还是不行,最后还是用了另外一种更简便的方法。

2011-03-13 14:46 发表于百度空间,今搬至CU。

阅读(889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~