zoukankan      html  css  js  c++  java
  • 排序——81C Average Score

    a==b
    a>b时按: if(a.shu==b.shu) return a.no<b.no; return a.shu<b.shu;  
    a<b时按: if(a.shu==b.shu) return a.no>b.no; return a.shu<b.shu;  
    View Code
    #include<iostream>
    #include
    <cstdio>
    #include
    <algorithm>
    using namespace std;

    struct data
    {
    int no;
    int shu;
    }qun[
    100009];

    bool hash[100009];

    int cmp(data a,data b)
    {
    if(a.shu==b.shu)
    return a.no<b.no;
    return a.shu<b.shu;
    }

    int cmp1(data a,data b)
    {
    if(a.shu==b.shu)
    return a.no>b.no;
    return a.shu<b.shu;
    }

    int main()
    {
    int n,a,b;
    scanf(
    "%d%d%d",&n,&a,&b);
    int i;
    for(i=0;i<n;i++)
    {
    scanf(
    "%d",&qun[i].shu);
    qun[i].no
    =i;
    }
    if(a==b)
    {
    for(i=0;i<a;i++)
    printf(
    "1 ");
    for(i=0;i<b;i++)
    printf(
    "2 ");
    printf(
    "\n");
    return 0;
    }

    if(a>b)
    {
    sort(
    &qun[0],&qun[n],cmp);
    for(i=0;i<a;i++)
    {
    hash[qun[i].no]
    =1;
    }

    for(i=0;i<n;i++)
    {
    if(hash[i]==1)
    printf(
    "1 ");
    else
    printf(
    "2 ");
    }
    }
    else
    {
    sort(
    &qun[0],&qun[n],cmp1);

    for(i=0;i<b;i++)
    {
    hash[qun[i].no]
    =1;
    }

    for(i=0;i<n;i++)
    {
    if(hash[i]==1)
    printf(
    "2 ");
    else
    printf(
    "1 ");
    }
    }
    printf(
    "\n");
    }
  • 相关阅读:
    nginx启动失败
    Windows下载安装docker详细步骤
    Consul
    Idea导入多个maven项目到同一目录下
    使用V-chart时踩过的一些坑
    java集合超详解
    HashMap
    curl和wget的区别和使用
    SourceTree3.2.6版本跳过注册办法
    单点登录
  • 原文地址:https://www.cnblogs.com/huhuuu/p/2036989.html
Copyright © 2011-2022 走看看