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

                                            问题 C: 心急的C小加
                                        时间限制: 1 Sec  内存限制: 128 MB
                                           提交: 21  解决: 3
                                            [提交][状态][讨论版]
          题目描述
      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
    提示
    数据多组输入

    发现了一个令人沉醉的问题  尼玛总是忘了 +  return

    fuck   错了好几次  愣是没发现.  下面附上代码.                                   还有这一道题应该改成 大于等于     才能对应着  输入输出数据

     1 #include<stdio.h>
     2 #include<algorithm>
     3 struct boom
     4 {
     5     int weight,hight;
     6 };
     7 using namespace std;
     8 boom a[5050];
     9 bool cmp(boom a,boom b)  //从小到大 排序
    10 {
    11     if(a.weight<b.weight)
    12         return true;
    13     if(a.weight==b.weight&&a.hight<b.hight)
    14        return true;
    15     else
    16       return  false;
    17 }
    18 int main()
    19 {
    20     int t,n,i,j,m;
    21     scanf("%d",&t);
    22     while(t--)
    23     {
    24         scanf("%d",&n);
    25         for(i=0;i<n;i++)
    26             scanf("%d%d",&a[i].weight,&a[i].hight);
    27         sort(a,a+n,cmp);
    28         int q,sum=0;
    29         for(i=0;i<n;i++)  //重量已经有了顺序
    30         {
    31             if(a[i].hight!=0)   //  如果 这个  木棒 没有被标记的话
    32             {
    33                 sum++;   //     +1
    34                 q=a[i].hight;       //赋予临时变量
    35                 for(j=i+1;j<n;j++)  // 看下一个
    36                 {
    37                     if(a[j].hight>=q)   //下一个  大于等于的话
    38                     {
    39                         q=a[j].hight;  //更新 临时变量
    40                         a[j].hight=0; // 并且标记
    41                     }
    42                 }
    43             }
    44         }
    45         printf("%d
    ",sum);
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    VS 2008潜在强大的功能:提取EXE文件中的ICO等资源
    园友们注意:淘宝网上QQ会员 4钻 3元 等都为骗子行为
    Comet Async Process Request Handler
    WCF(Sender) to MSMQ to WCF(Receiver)
    ASP.NET Web Form GridView DetailsView Query Edit
    WCF NetTcp AsyncQueue Service
    Xml CDATA 序列化
    Sync Invoke Remoting Async Invoke
    .Net 4.0 Remoting ConcurrentQueue
    Socket Async Receive Data to LinkedList Buffer (telnet proxy server)
  • 原文地址:https://www.cnblogs.com/A-FM/p/5181867.html
Copyright © 2011-2022 走看看