• hdoj1051Wooden Sticks


    
    /*这道题目是先要排序的,依照长度或者重量排都能够。
    当长度(重量)同样时就依照重量(长度)排,
    从大到小或从小到大都能够!

    这里我懂的。没有问题!
    排序之后,问题就能够简化,(如果依照长度不等时长度排,
    长度等是依照重量排,我如果依照从大到小来排!)即求排序
    后的全部的重量值最少能表示成几个集合。

    长度就不用再管了,
    从数组第一个数開始遍历,仅仅要重量值满足条件,那么这两个
    木棍就满足条件!*/

    <span style="font-size:18px;">#include<stdio.h>
    #include<algorithm>
    #include<string.h>
    using namespace std;
    #define maxn 5010
    struct node{
     int l,w;
    }stk[maxn];
    bool cmp(node y,node x){
     if(x.l<y.l) return true;
     if(x.l==y.l&&x.w<y.w) return true;
     return false;
    }
    int main()
    {
     int visit[5010],t,n,sum;
     scanf("%d",&t);
     while(t--)
     {
      memset(visit,0,sizeof(visit));    
            memset(&stk,0,sizeof(&stk));    
            scanf("%d",&n);    
            for(int i=0;i<n;i++)    
            scanf("%d %d",&stk[i].l,&stk[i].w);    
            sort(stk,stk+n,cmp);    
            sum=0;    
            for(int i=0;i<n;i++)    
            {    
                if(!visit[i])    
                {    
                    for(int j=i;j<n;j++)    
                    if(stk[j].l>=stk[i].l&&stk[j].w>=stk[i].w&&!visit[j])    
                    visit[j]=1,stk[i].l=stk[j].l,stk[i].w=stk[j].w;    
                    sum++; //这个循环是重点。   
                }    
            }    
            printf("%d
    ",sum);      
     }    
        return 0;    
    }   </span>


  • 相关阅读:
    centos6.8安装DB2 10.5
    linux yum配置本地iso镜像
    DB2的空间数据库管理复杂配置
    高性能计算linux集群常用配置
    centos 6.8操作系统安装arcgis server 10.4
    【转】用python实现简单的文本情感分析
    Python3制作中文词云图
    MongoDB Replica Set搭建集群
    pycharm编写spark程序,导入pyspark包
    Mysql变量声明与使用
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6929291.html
Copyright © 2020-2023  润新知