zoukankan      html  css  js  c++  java
  • 今年暑假不AC(外带sort与qsort比较)

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int comp(const void *a,const void *b)
    {
         return ((int *)a)[0]<((int *)b)[0];
    }
    
    int main()
    {
    int a[5][5] = {{5,2,3,4,5},
           {4,3,2,5,6},
           {9,2,4,5,7},
           {3,2,4,5,7},
           {2,2,4,8,7}};
    qsort(a[0],5,sizeof(int),comp);//a[0]被排序
    qsort(a,5,sizeof(int)*5,comp);//a[i]被排序
    sort(a[0],a[0]+5);
    for(int i = 0 ; i < 5; i++)
    {
       for(int j = 0 ; j < 5; j++)
        cout<<a[i][j]<<" ";
       cout<<endl; 
    }  
        system("pause");
        return 0;
    }
    
    
    
    http://wenku.baidu.com/view/635d296a1eb91a37f1115c20?pn=3&ssid=&from=&bd_page_type=1&uid=3C142BA4F01F3CA8514D93555F0E16B4&pu=sl@1,pw@1000,sz@176_220,pd@1,fz@2,lp@1,tpl@color,&st=1&wk=rd&maxpage=3
    Problem G 
    
    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    
    Total Submission(s) : 17   Accepted Submission(s) : 5
    
    Font: Times New Roman | Verdana | Georgia
    
     Font Size: ← →
    
    Problem Description
    
    “今年暑假不AC?”
    “是的。”
    “那你干什么呢?”
    “看世界杯呀,笨蛋!”
    “@#$%^&*%...”
    
    确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。
    作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目)
     
    
    Input
    
    输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。
     
    
    Output
    
    对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。 
    
    Sample Input
    
    12
    1 3
    3 4
    0 7
    3 8
    15 19
    15 20
    10 15
    8 18
    6 12
    5 10
    4 14
    2 9
    0
    
     Sample Output
    
    5
    
    
    #include<iostream>
    #include<algorithm>
    #include<stdio.h>
    using namespace std;
    int main()
    {
        int t,i,m1,m2,m3,h,b[500],c[500],q,f;
        while(scanf("%d",&t)!=EOF)
        {
            q=f=h=0;
            m2=m1=2500000;
            m3=-1;
            if(t==0)
                break;
            for(i=0;i<t;i++)
            {
                scanf("%d",&b[i]);
                scanf("%d",&c[i]);
                if(c[i]<m1)
                    m1=c[i];
                if(b[i]>m3)
                    m3=b[i];
            }
            h++;
            while(m3>=m1)
            {
                for(i=0;i<t;i++)
                {
                    if(b[i]>=m1&&c[i]<m2)
                    m2=c[i];
                }
                m1=m2;
                m2=2500000;
                h++;    
            }
            printf("%d\n",h);
        }
        return 0;
    }
    
    
    #include<iostream>
    #include<algorithm>
    #include<stdio.h>
    using namespace std;
    int main()
    {
        int t,i,m1,m2,m3,h,b[101],c[101],q,f;
        while(scanf("%d",&t),t)
        {
            q=f=h=0;
            m2=m1=2500000;
            m3=-1;
            for(i=0;i<t;i++)
            {
                scanf("%d",&b[i]);
                scanf("%d",&c[i]);
                if(c[i]<m1)
                    m1=c[i];
            }
            h++;
            int j;
            while(1)
            {
                j=-1;
                for(i=0;i<t;i++)
                {
                    if(b[i]!=-1)
                    {  
                      if(b[i]>=m1&&c[i]<m2)
                      { 
                          m2=c[i];
                          j=i;
                      }
                    }
                }
                if(j==-1)
                  break;
                b[j]=-1;
                m1=c[j];
                m2=2500000;
                h++;    
            }
            printf("%d\n",h);
        }
        return 0;
    }
    

      

      #include<iostream>
    #include<algorithm>
    using namespace std;
    struct Time
    {
        int begin;
        int end;
        bool operator <(const Time &a)
        {   
             return end<a.end;
        }//sort的比较方法
    }s[105];
    /*int cmp(const void *a,const void *b)
    {
        return ((Time*)a)->end-((Time*)b)->end;
    }*///qsort的比较方法
    int main()
    {
        int i,j,n;
        
        bool arrange[105];
        while(scanf("%d",&n)&&n)
        {
            for(i=1;i<=n;i++)
            {
                scanf("%d%d",&s[i].begin,&s[i].end);
                arrange[i]=false;
            }
            //qsort(s+1,n,sizeof(s[0]),cmp);
            sort(s,s+n);//sort和qsort的区别,结构体比较的不同
            //    Time temp;排序 ==qsort
            /*for(int 1;i<n;i++)
            {k=i;
            for(j=i+1;j<=n;j++)if(s[j].end<s[k].end)k=j;
            temp=s[i];
            s[i]=s[k];
            s[k]=temp;
        }*/
            int num=1;
            j=1;arrange[1]=true;
            for(i=2;i<=n;i++)
            { 
                if(s[i].begin>=s[j].end)
                {
                    num++;
                    j=i;
                    arrange[j]=true;
                }
            }
            printf("%d\n",num);
            //for(i=1;i<=n;i++)if(arrange[i])printf("%d %d\n",s[i].begin,s[i].end);
        }
        return 0;
    }
  • 相关阅读:
    正确添加Google Adsense
    微软开发主管临别诤言
    DZ论坛重建管理员
    Cook book 第4天 第6章 层、自定义组件
    Cook Book 第二天 运行环境识别修改
    flex cookbook 学习第一天 基本知识
    C#:String类型中的CharAt
    对我学C#时的一次小回忆[一:语法篇]
    分享一段C#反射代码[Type是反射的入口][查看类型信息][动态生成对象]
    C#反射:让私有成员无所遁形
  • 原文地址:https://www.cnblogs.com/heqinghui/p/2618777.html
Copyright © 2011-2022 走看看