zoukankan      html  css  js  c++  java
  • 【HDU】5182 PM2.5

    理解好排序的方式就行。

    差值不一样,降序

    差值一样,按照第二个数值升序

    差值一样并且第二个数值也一样,按照id进行升序

    #include <iostream>
    #include <algorithm>
    #include <cstdlib>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <cmath>
    #include <ctime>
    #include <set>
    using namespace std;
    
    
    #define read() freopen("in.txt", "r", stdin)
    #define write() freopen("out.txt", "w", stdout)
    #define rep( i , a , b ) for ( int i = ( a ) ; i <  ( b ) ; ++ i )  
    #define For( i , a , b ) for ( int i = ( a ) ; i <= ( b ) ; ++ i ) 
    #define clr( a , x ) memset ( a , x , sizeof a )  
    #define cpy( a , x ) memcpy ( a , x , sizeof a ) 
    #define _max(a,b) ((a>b)?(a):(b))
    #define _min(a,b) ((a<b)?(a):(b))
    #define LL long long 
    const int maxNumber=10002;
    
    /*int gcd(int a,int b)
    {
    	return b?gcd(b,a%b):a;
    }
    inline int lcm(int a,int b)
    {
    	return a/gcd(a,b)*b;
    }*/
    struct pm
    {
    	int id;
    	int num1;
    	int num2;
    
    };
    pm city[233];
    
    int cmp(pm a,pm b)
    {
    	if (a.num1-a.num2 == b.num1-b.num2 && a.num2 == b.num2)
    	{
    		return a.id < b.id;
    	}
    	if (a.num1-a.num2 == b.num1-b.num2)
    	{
    		return a.num2 < b.num2;
    	}
    	return a.num1 - a.num2 > b.num1 - b.num2;
    }
    int main()
    {
    	//read();
    	int n;
    	while(cin>>n)
    	{
    		for (int i = 0; i < n; ++i)
    		{
    			scanf("%d%d",&city[i].num1,&city[i].num2);
    			city[i].id = i;
    		}
    		sort(city,city+n,cmp);
    		for (int i = 0; i < n; ++i)
    		{
    			if (i == n - 1)
    			{
    				printf("%d
    ",city[i].id );
    
    			}else
    			{
    				printf("%d ",city[i].id );
    			}
    		}
    	}
        return 0;
       
    }
    

      

  • 相关阅读:
    PCL配置即常见问题
    opencv2.4.9配置+VS2013
    我的项目配置问题及解决
    Java 8 函数式编程
    leecode刷题(17)-- 实现StrStr
    leecode刷题(16)-- 字符串转换整数
    leecode刷题(15)-- 验证回文字符串
    博客迁移通知
    leecode刷题(14)-- 有效的字母异位词
    leecode刷题(13) -- 字符串中的第一个唯一字符
  • 原文地址:https://www.cnblogs.com/acmsummer/p/4321249.html
Copyright © 2011-2022 走看看