UESTC--1727

原题链接:http://acm.uestc.edu.cn/problem.php?pid=1727

分析:用 l[i] 记录第 i 层楼有多少物品需要往上继续搬运,如果某层楼没有物品,但是更上面还有,则仍需要往上走,所以需要+1.

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<algorithm>
 6 #define maxn 111
 7 #define mod 1000007
 8 using namespace std;
 9 int l[maxn];
10 int main()
11 {
12     int n,cas=1,s,t,rig;
13     while(~scanf("%d",&n))
14     {
15          memset(l,0,sizeof(l));
16          rig=0;
17         for(int i=0;i<n;i++)
18          {
19              scanf("%d%d",&s,&t);
20              l[s]++;l[t]--;
21              rig=max(rig,t);
22          }
23         int sum=0,temp=0;
24         for(int i=1;i<rig;i++)
25         {
26             temp+=l[i];
27             sum+=temp;
28             if(temp==0)sum+=1;
29         }
30          printf("Case %d: %d\n",cas++,sum);
31     }
32     return 0;
33 }
View Code

 

posted @ 2013-08-31 15:13  EtheGreat  阅读(142)  评论(0编辑  收藏  举报