zoukankan      html  css  js  c++  java
  • 贪心算法1000

    题目大意:

    有若干房间,奇数房间在偶数房间的对面,共用一条走廊,从一个房间搬运桌子到另一个房间,如果房间之间共用同一个走廊,则不能同时进行,搬运以此需要10,求最短时间;

    解题思路:

    首先对房间按照开始房间号进行排序,在进行化简,1号和二号房间共用同一个走廊,开始房间和结束房间加一除二为走廊,搬桌子可以并行执行,遇到冲突需要分别执行,记录冲突最多的走廊为所求结果;

    代码:

    #include <iostream>
    #include <algorithm>
    using namespace std;
    struct mm
    {
        int a;
        int b;
    
    }s[401];
    bool cmp(mm m,mm n)
    {
        if(m.a<=n.a)
        return true;
        return false ;
    }
    int main()
    {
        int n,N,u,i,j,max[201],t=0;
    
        cin>>N;
        while(N-->0)
        {
            for(int p=0;p<200;p++)
            max[p]=0;
            t=0;
            cin>>n;
            for(i=0;i<n;i++)
            {
                cin>>s[i].a>>s[i].b;
                if(s[i].a>s[i].b)
                {
    
                    u=s[i].a;
                    s[i].a=s[i].b;
                    s[i].b=u;
                }
                s[i].a=(s[i].a+1)/2;
                s[i].b=(s[i].b+1)/2;
                for(j=s[i].a;j<=s[i].b;j++)
                max[j]++;
            }
    
                for(i=0;i<200;i++)
                {
                    if(max[i]>t)t=max[i];
                }
    
            cout<<t*10<<endl;
    
        }
        return 0;
    }
  • 相关阅读:
    HDOJ2032_杨辉三角
    素数问题练习_HDOJ1262
    素数问题三步曲_HDOJ2098
    小黄衫的故事
    软件工程实践总结
    Beta吐槽
    Beta版本讨论
    Beta版本总结
    Beat版本冲刺(七)
    Beta版本冲刺(六)
  • 原文地址:https://www.cnblogs.com/Sikaozhe/p/5298986.html
Copyright © 2011-2022 走看看