zoukankan      html  css  js  c++  java
  • 心急的C小加

     

    心急的C小加

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:4
     
    描述

    C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗?

     
    输入
    第一行是一个整数T(1<T<1500),表示输入数据一共有T组。
    每组测试数据的第一行是一个整数N(1<=N<=5000),表示有N个木棒。接下来的一行分别输入N个木棒的L,W(0 < L ,W <= 10000),用一个空格隔开,分别表示木棒的长度和质量。
    输出
    处理这些木棒的最短时间。
    样例输入
    3 
    5 
    4 9 5 2 2 1 3 5 1 4 
    3 
    2 2 1 1 2 2 
    3 
    1 3 2 2 3 1 
    
    样例输出
    2
    1
    3
    

    #include<iostream>
    #include<algorithm>
    #include<cstring>

    using namespace std;
    struct SS
    {
      int l;
      int w;
    }c[5005],last;

    int use[5005];
    bool cmp(struct SS p1, struct SS p2)
    {
      if(p1.l<p2.l) return true;
        if(p1.l==p2.l&&p1.w<=p2.w) return true;
        return false;

    }

    int main ()
    {
      int t,n,i,count;

      cin>>t;
      while(t--)
      {
     count=0;
     memset(use,0,sizeof(use));
        cin>>n;
        for(i=0;i<n;i++)
       cin>>c[i].l>>c[i].w;
     sort(c,c+n,cmp);
           for(int i = 0; i < n; ++i) //对第i个木棒 求递增子序列   
           { 
                last.w = c[i].w; //记录新序列的开始   
                if(!use[i]) 
                { 
                    for(int j = i + 1; j < n; j++) 
                    { 
                       if(last.w <= c[j].w && !use[j]) //l已经排序 不需要比较   
                       { 
                           use[j] = 1; //用到则标记为1  
                            last.w = c[j].w; //队尾元素   
                        } 
                    } 
                    count++; //子序列结束后,时间加1.计算第i + 1个木棒   
                }
        }
      cout<<count<<endl;
      }
      return 0;
    }

  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/hpuwangjunling/p/2389525.html
Copyright © 2011-2022 走看看