zoukankan      html  css  js  c++  java
  • HDU 1031 Design T-Shirt

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

    题意 :n个人,每个人对m件衣服打分,每个人对第 i 件衣服的打分要加起来,选取和前 k 高的输出他们的编号 i ,然后这k个的序号要倒序输出

    思路 :快排一下就行了。这道题坑了我好几遍TLE,原因是我交的语言是G++而不是C++。。。。。。

    #include <iostream>
    #include <algorithm>
    #include <stdio.h>
    using namespace std ;
    struct node
    {
        double sati ;
        int order ;
    } a[11100] ;
    bool cmp(const node &x,const node &y)
    {
        return x.sati == y.sati ? (x.order < y.order) : (y.sati < x.sati );
    }
    bool cmp1(const node &x,const node &y)
    {
        return x.order > y.order ;
    }
    int main()
    {
        int n,m,k ;
        double b ;
        while(scanf("%d %d %d",&n,&m,&k)!=EOF)
        {
            for(int i = 0 ; i < m ; i++)
            a[i].sati = 0 ;
            for(int i = 0 ; i < n ; i++)
            {
                for(int j = 0 ; j < m ; j++)
                {
                    cin>>b ;
                    a[j].sati += b ;
                    a[j].order = j+1 ;
                }
            }
       sort(a,a+m,cmp) ;
       sort(a,a+k,cmp1) ;
       for(int i = 0 ; i < k-1 ; i++ )
             cout<<a[i].order<<" " ;
             cout<<a[k-1].order<<endl ;
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    mysql 练习题
    mysql 语法
    mysql数据库简单练习(创建表格,增删改查数据)
    dom对象基础
    JS定时器
    JS小测验
    JS事件练习题
    JS事件
    dom对象
    tiles介绍
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3450102.html
Copyright © 2011-2022 走看看