zoukankan      html  css  js  c++  java
  • Moving Tables POJ

    题目大意

    在一层楼上推桌子,每个空间一次只能推1种桌子,且消耗十分钟。可以同时推多个桌子,但是他们所占的空间不能是相交的如图

    解法

    真的很考验思维能力,首先考虑到这个走廊是有两排的,我瞬间想到了宿舍楼。。。

    发现1 2是对着的3 4是对着的一个空间而2 3是两个空间这该怎么办好呢?

    我们可以把他们化成1 2这种格式,即奇数左边界偶数右边界,即小的如果是偶数那么-1大的边界如果是奇数那么加一2 3可以化解成1 4是两个空间了,然后计算最大重复空间即可了

    代码

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    int bk[1000];
    int main()
    {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);
      int t;
      cin>>t;
      while(t--)
      {
        memset(bk,0,sizeof(bk));
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
        {
          int t1,t2;
          cin>>t1>>t2;
          if(t1>t2)
          swap(t1,t2);
          if(t1%2==0)
          t1--;
          if(t2%2==1)
          t2++;
          for(int i=t1;i<=t2;i++)
          bk[i]++;
        }
        int maxn=-1;
        for(int i=1;i<=400;i++)
        maxn=max(maxn,bk[i]);
        cout<<maxn*10<<"
    ";
      }
    }
    
  • 相关阅读:
    post和get区别
    https
    tcp/ip协议
    webpack与gulp的不同
    什么是webpack
    spring boot 输入参数统一校验
    spring boot++jpa+ mysql +maven
    Intellij IDEA 2018.2.2 SpringBoot热启动 (Maven)
    git 从远程仓克隆到本地新分支
    ASP.NET MVC 自动模型验证
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10109081.html
Copyright © 2011-2022 走看看