hdu 1050 Moving Tables
一开始算法想的有点问题。
坑点在于走廊两侧都有房间
也就是说room1和room2对应的位置是一样的
1 to 3 4to6 是没法同时完成的。
做法就是整个扫一遍,看哪个位置的重复次数最大,*10就是答案。
1
2 #include <iostream>
3 #include <algorithm>
4 #include <cmath>
5 #include<cstdio>
6 #include <cstring>
7
8 using namespace std;
9
10 int main()
11 {
12 int t,n,a[300],b[300];
13 int p[300];
14 int ans;
15 scanf("%d",&t);
16 while (t--)
17 {
18
19 scanf("%d",&n);
20 memset(p,0,sizeof(p));
21 memset(a,0,sizeof(a));
22 memset(b,0,sizeof(b));
23 for (int i=1;i<=n;i++)
24 {
25 scanf("%d %d",&a[i],&b[i]);
26 if (a[i]>b[i])
27 swap(a[i],b[i]);
28 for (int j=(a[i]+1)/2;j<=(b[i]+1)/2;j++)
29 p[j]++;
30 }
31 ans=0;
32 for (int i=1;i<=200;i++)
33 if (p[i]>ans)
34 ans=p[i];
35 printf("%d\n",ans*10);
36 }
37 return 0;
38 }
39