POJ1083 Moving Tables

来源:互联网 发布:淘宝会员名 编辑:程序博客网 时间:2024/05/17 01:01

一共200段走廊,统计每段走廊被使用次数,消耗时间就是最多使用次数乘10。需要注意输入数据大小,例子给的都是前小后大,还有前大后小的情况。

 

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
 int t,n,a,b,start,end,i,j,k,time[201];
 scanf("%d",&t);
 while(t--)
 {
  memset(time,0,sizeof(int)*201);//初始化
  scanf("%d",&n);
  for(k=0;k<n;k++)
  {
   scanf("%d%d",&a,&b);
   start=a<b?a:b;//判断起点和终点
   end=a>b?a:b;
   if(start%2==1)
    start=start/2+1;
   else
    start=start/2;
   if(end%2==1)
    end=end/2+1;
   else
    end=end/2;
   for(i=start;i<=end;i++)//统计每个使用过的走廊
    time[i]++;
  }
  k=0;
  for(i=0;i<200;i++)//找到使用次数最多的那段走廊
  {
   if(time[i]>k)
    k=time[i];
  }
  printf("%d/n",k*10);
 }
 return 0;
}

原创粉丝点击