zoukankan      html  css  js  c++  java
  • HDU 4163 Stock Prices

    http://acm.hdu.edu.cn/showproblem.php?pid=4163

    稳定排序

    View Code
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    #include <string>
    #include <stack>
    #include <queue>
    #include <map>
    using namespace std;
    typedef struct L{
        int price;
        int idx;
    }L;
    L kk[1000001];
    int cmp1(const void*a,const void*b)
    {
        L*c=(L*)a;
        L*d=(L*)b;
        if(c->price==d->price)
            return c->idx-d->idx;
        return c->price-d->price;
    }
    int cmp2(const void*a,const void*b)
    {
        L*c=(L*)a;
        L*d=(L*)b;
        return c->idx-d->idx;
    }
    int cmp3(const void*a,const void*b)
    {
        L*c=(L*)a;
        L*d=(L*)b;
        if(c->price==d->price)
            return d->idx-c->idx;
        return d->price-c->price;
    }
    int cmp4(const void*a,const void*b)
    {
        L*c=(L*)a;
        L*d=(L*)b;
        return d->idx-c->idx;
    }
    int main()
    {
        int n,k1,k2;
        int nCase=1;
        while(~scanf("%d%d%d",&n,&k1,&k2),n,k1,k2)
        {
            for(int i=0;i<n;i++)
            {
                scanf("%d",&kk[i].price);
                kk[i].idx=i+1;
            }
            printf("Case %d\n",nCase++);
            qsort(kk,n,sizeof(L),cmp1);
            qsort(kk,k1,sizeof(L),cmp2);
            printf("%d",kk[0].idx);
            for(int i=1;i<k1;i++)
                printf(" %d",kk[i].idx);
            putchar('\n');
            qsort(kk,n,sizeof(L),cmp3);
            qsort(kk,k2,sizeof(L),cmp4);
            printf("%d",kk[0].idx);
            for(int i=1;i<k2;i++)
                printf(" %d",kk[i].idx);
            putchar('\n');
        }
        return 0;
    }
  • 相关阅读:
    JS判断单选框是否选中
    Js判断是否有属性
    判断是否有焦点
    Js 替代
    Js解析json
    回车事件
    js解析XML
    Linux常用基础(三)
    Linux常用基础(二)
    Linux常用基础(一)
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/2517287.html
Copyright © 2011-2022 走看看