http://poj.org/problem?id=1083
题意:有一个平面图形如下面的房间,中间的走廊一格只能容纳一次运输,一次运输会把要占用的格子一次性上锁,求最少要运几次?
感觉就是每次暴力把覆盖的格子++,然后最大的覆盖的格子就是答案。
貌似总是可以有办法使得他们不冲突。(直观感受)
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<map>
#include<set>
#include<stack>
#include<string>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
const int MAXN = 200;
int cnt[MAXN + 5];
int main() {
#ifdef Yinku
freopen("Yinku.in", "r", stdin);
#endif // Yinku
int t;
scanf("%d", &t);
while(t--) {
memset(cnt, 0, sizeof(cnt));
int n;
scanf("%d", &n);
int maxans = 0;
for(int i = 1; i <= n; ++i) {
int l, r;
scanf("%d%d", &l, &r);
l = (l + 1) / 2;
r = (r + 1) / 2;
if(l > r)
swap(l, r);
for(int i = l; i <= r; ++i)
cnt[i]++;
}
for(int i = 1; i <= MAXN; ++i)
maxans = max(maxans, cnt[i]);
printf("%d\n", maxans * 10);
}
}