zoukankan      html  css  js  c++  java
  • hdu 5182 PM2.5

    问题描述
    目前,我们用PM2.5的含量来描述空气质量的好坏。一个城市的PM2.5含量越低,它的空气质量就越好。所以我们经常按照PM2.5的含量从小到大对城市排序。一些时候某个城市的排名可能上升,但是他的PM2.5的含量也上升了。这就意味着他的空气质量并没有改善。所以这样的排序方式是不合理的。为了使得排序合理,我们提出了一个新的排序方法。我们按照两个PM2.5含量测量的差值(第一次-第二次)来对他们按降序排序,如果有重复,按照第二次的测量值升序排序,如果还有重复,按照输入的顺序排序。
    输入描述
    多组测试数据(大概100100组),每一组测试数据第一行先给出一个整数nn,代表有nn个城市需要被排序。城市被从00到n-1n1标号。接下来nn行,每一含有两个整数代表每一个城市第一次和第二次被测量的PM2.5值。第ii行描述城市i-1i1的信息。
    请处理到文件末尾。
    [参数说明]
    所有整数都在[1,100][1,100]的范围内。
    输出描述
    对于每一个数据,输出排好序之后的城市ID。
    输入样例
    2
    100 1
    1 2
    3
    100 50
    3 4
    1 2
    输出样例
    0 1
    0 2 1

    建立结构体,按建立排序方式
    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    using namespace std;
    struct node
    {
        int value,test,id;
        bool operator < (const node &another) const
        {
            if(value!=another.value) return value>another.value;
            if(test!=another.test)   return test<another.test;
            return id<another.id;
        }
    }a[111];
    int main()
    {
        int n,u,v;
        while(~scanf("%d",&n))
        {
            for(int i=0;i<n;i++)
            {
                scanf("%d%d",&u,&v);
                a[i].value=u-v;
                a[i].test=v;
                a[i].id=i;
            }
            sort(a,a+n);
            for(int i=0;i<n;i++)
            {
                if(i) printf(" ");
                printf("%d",a[i].id);
            }
            puts("");
        }
        return 0;
    }
  • 相关阅读:
    转(一万小时定律的文章): const 与 readonly区别...
    项目中报错邮件方法
    Windows Phone(一) 正式开发之前的准备资料(主要注册开发者账号,手机解锁,激活码,程序部署)
    转(ASP.NET页面缓存)
    部署XAP时,部署工具提示部署无效,求解决!
    jQuery 1
    DOMform
    jQuery 2 一些常用的函数
    jQuery 6 层次选择器
    jQuery 3 对象转换
  • 原文地址:https://www.cnblogs.com/zsyacm666666/p/5388941.html
Copyright © 2011-2022 走看看