zoukankan      html  css  js  c++  java
  • HDU 5182

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    
    /************************************************************************/
    /* HDU 5182题 http://acm.hdu.edu.cn/showproblem.php?pid=5182*/
    /************************************************************************/
    
    struct node
    {
    node()
    {
    number=0;
    first=0;
    second=0;
    difference=0;
    };
    int number;
    int first;
    int second;
    int difference;
    };
    node arr[120];
    
    int cmp(const void* pa,const void* pb)
    {
    node* a = (node*)pa;
    node* b = (node*)pb;
    
    if(a->difference != b->difference)return b->difference - a->difference;
    else 
    return a->second - b->second;
    }
    
    
    int main()
    {    
    int n;
    node temp;
    
    while (cin >> n)
    {
    memset(arr,0,sizeof(arr));
    for (int i=0;i<n;i++)
    {
    
    arr[i].number=i;
    cin >> arr[i].first >> arr[i].second;
    arr[i].difference = arr[i].first - arr[i].second;
    
    }
    
    //qsort(arr,n,sizeof(node),cmp);
    
    //冒泡排序
    //当两个node的difference和second都相等时,按照题意应该满足这两个元素
    //应该按照输入时的顺序排序,如果利用内置的qsort,这就无法满足要求,因此我用冒泡排序来替换
    
    
    for (int i =0;i<n-1;i++)
    {
    for (int j =0;j<n-1-i;j++)
    {
    if (arr[j].difference < arr[j+1].difference)
    {
    temp = arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    }
    
    for (int i =0;i<n-1;i++)
    {
    for (int j =0;j<n-1-i;j++)
    {
    if (arr[j].difference == arr[j+1].difference && arr[j].second > arr[j+1].second)
    {
    temp = arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    }
    
    for (int i=0;i<n-1;i++)
    {
    cout << arr[i].number << " ";
    }
    
    cout << arr[n-1].number<<endl;
    
    
    }
    
    
    return 0;
    }
  • 相关阅读:
    基于I2C总线的MPU6050学习笔记
    基于I2C总线的0.96寸OLED显示屏驱动
    I2C总线协议的软件模拟实现方法
    I2C总线通讯协议
    Exynos4412从SD卡启动的简单网络文件系统制作
    多版本 PHP 环境下,使用指定版本运行composer
    腾讯云服务器 lnmp 开启 MySQL 远程访问权限
    MySQL添加新用户和新增权限
    Laravel 框架创建软链接
    Git 保存登录凭证
  • 原文地址:https://www.cnblogs.com/LCCRNblog/p/4320993.html
Copyright © 2011-2022 走看看