hdu 1050 Moving Tables

来源:互联网 发布:国际快递 知乎 编辑:程序博客网 时间:2024/05/22 11:52

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1050

题目大意:相对的房间共享一段走廊,从a房间搬桌子到b房间需要10分钟,期间不允许其他桌子通过,问至少需要多久能搬完。

题目分析:把房间对应的走廊编号算出来,每经过一次加一,经过的最多次数*10即为答案。

代码参考:

#include <queue>#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 409;int a[N];int main(){    int t, n, m, s, e;    scanf("%d", &t);    while(t --) {        memset(a, 0, sizeof(a)); //清空        scanf("%d", &n);        int ans = -1;        for(int i = 0; i < n; ++ i) {            scanf("%d%d", &s, &e);            if(s > e) swap(s, e); //s不一定小于e            for(int j = (s + 1) / 2; j <= (e + 1) / 2; ++ j) {                a[j] ++; //所经过的走廊都要+1                if(a[j] > ans) ans = a[j]; //更新最大值            }        }        printf("%d\n", ans * 10);    }    return 0;}


0 0