A(1000)

来源:互联网 发布:大额淘宝优惠券哪里领 编辑:程序博客网 时间:2024/06/07 21:52

题目编号:A(1000)

题目大意:题意不是很难,就是有两排房间,各200间,中间是走廊,从一个房间搬桌子靠走廊搬到另一个房间,不能同时占用走廊,每个房间有编号。求最少的搬运时间。

解题思路:就像课上讲的那样,难度不大。具体思路是这样的:把两排房间看成一排,有200个编号,当一个相邻的奇数偶数房间搬运也是需要占用一个走廊位置的,这个细节在                       后面也要考虑。把走廊位置的占用直接改为房间编号的占用,用数组表示,占用次数最多的就是占用走廊次数最多的,当然也是需要串行的次数,乘以时间就是答案                           了。

解题感想:上课认真听,下课努力做题巩固,只怕有心人!

#include<iostream>#include<cstring>using namespace std;int main(){         int n,a,b,c,t;         int i,j,k;         int arr[200];         cin>>n;         while(n--)         {                  cin>>a;                  memset(arr,0,sizeof(arr));                  for(i=0;i<a;++i)                  {                           cin>>b>>c;                           b=(b-1)/2;                           c=(c-1)/2;                           if(b>c)                           {                                    t=b;                                    b=c;                                    c=t;                           }                           for(j=b;j<=c;j++)                           {                                    arr[j]++;                           }                  }                  k=0;                  for(i=0;i<200;i++)                  {                           if(arr[i]>k)                           {k=arr[i];}                  }                  k*=10;                  cout<<k<<endl;         }         return 0;}

0 0