nyoj 220 推桌子

来源:互联网 发布:薛之谦胡彦斌 知乎 编辑:程序博客网 时间:2024/04/27 21:55

题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=220

之前做过类似的题,求出最大的区间重叠次数,以为还是一样呢,没细看就敲了,结果wa了!两排房子是并行的,要化成一排!

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int MAX(int a, int b){return a > b ? a : b;}int main(){int T, n, i, j, a, b, ans;int arr[410];scanf("%d", &T);while (T--){scanf("%d", &n);memset(arr, 0, sizeof(arr));ans = 0;for (i = 0; i < n; ++i){scanf("%d %d", &a, &b);a = (a+1) >> 1;//别忘记房间是并行的,1-2,3-4, 5-6都是对等的,这里需要转化一下,化成一排!这里没主意害得我wa了一次b = (b+1) >> 1;if(a > b){a ^= b;b ^= a;a ^= b;}for (j = a; j <= b; ++j){arr[j]++;ans = MAX(arr[j], ans);}}printf("%d\n", ans*10);}return 0;}


0 0