hdu 3650 2010 Asia Regional Hangzhou Site —— Online Contest

因为两个有重叠的开放时间段的景点不可能在同一天游览完,一天只能游览其中的一个,所以求最大的区间重叠次数就好了

View Code
 1 #include<stdio.h>
2 #include<string.h>
3 #include<algorithm>
4 #include<iostream>
5 using namespace std;
6 int vis[24*3600+5];
7 int main()
8 {
9 int n,i,j,s,t;
10 while(scanf("%d",&n),n)
11 {
12 int tmx=0;
13 memset(vis,0,sizeof(vis));
14 for(i=1;i<=n;i++)
15 {
16 scanf("%d%d",&s,&t);
17 if(s>t) swap(s,t);
18 if(t>tmx) tmx=t;
19 for(j=s;j<=t;j++) vis[j]++;
20 }
21 int ans=0;
22 for(i=0;i<=tmx;i++)
23 {
24 if(vis[i]>ans)
25 ans=vis[i];
26 }
27 printf("%d\n",ans);
28 }
29 return 0;
30 }



你可能感兴趣的:(online)