• 心急的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 }
  • 相关阅读:
    Maven项目多环境之间的配置文件的切换
    使用vue脚手架快速创建vue项目(入门)
    SpringAOP之使用切入点创建通知
    epoll的陷阱
    epoll-1
    openSUSE Leap 15格式化挂载新分区
    openSUSE Leap 15取消自动登录
    openSUSE Leap 15通过windows rdp访问
    openSUSE Leap 15安装打开ssh
    数组、函数与指针
  • 原文地址:https://www.cnblogs.com/A-FM/p/5181867.html
Copyright © 2020-2023  润新知