zoukankan      html  css  js  c++  java
  • NYOJ 8 一种排序

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<memory.h>
     4 using namespace std;
     5 
     6 typedef struct Tri{
     7     int id;
     8     int l;
     9     int w;
    10     Tri():id(0),l(0),w(0){}
    11 }Tri;
    12 
    13 
    14 
    15 bool cmp(Tri a, Tri b)
    16 {
    17     return a.id < b.id ||(a.id == b.id && a.l < b.l) || (a.id == b.id && a.l == b.l && a.w < b.w);
    18 }
    19 
    20 int main()
    21 {
    22 //    freopen("in.txt","r",stdin);
    23     int n,m,i;
    24     cin>>n;
    25     while(n--)
    26     {
    27         Tri tr[1001];
    28         int a[10001];
    29         memset(a,0,sizeof(a));
    30         cin>>m;
    31         for(i = 1; i <= m; ++i)
    32         {
    33             cin>>tr[i].id>>tr[i].l>>tr[i].w;
    34             if(tr[i].l < tr[i].w) swap(tr[i].l,tr[i].w);  //若长<宽: 交换
    35             a[tr[i].id] = a[tr[i].id] < tr[i].l ? tr[i].l : a[tr[i].id];
    36         }
    37         sort(tr+1,tr+m+1,cmp); //排序
    38         for(i = 1; i <= m; ++i)
    39         {
    40             if(tr[i].id == tr[i-1].id && tr[i].l == tr[i-1].l && tr[i].l != a[tr[i].id]) continue//不输出,根据所给的条件
    41             else if(tr[i].id != tr[i-1].id || tr[i].l != tr[i-1].l || tr[i].w != tr[i-1].w)  //与上一个不相等,则输出
    42                 cout<<tr[i].id<<" "<<tr[i].l<<" "<<tr[i].w<<endl;
    43         }
    44     }
    45     return 0;
    46 }       
  • 相关阅读:
    [转]网络负载均衡配置十步完成
    视图相关SQL
    视图的作用
    23种设计模式(2):工厂方法模式
    设计模式中类的关系
    23种设计模式(1):单例模式
    linux 下查看系统资源和负载,以及性能监控
    java文件读写操作大全
    JAVA基础知识(static,final,abstract)浅谈
    Hibernate--基于注解方式的各种映射全面总结
  • 原文地址:https://www.cnblogs.com/yaling/p/3017658.html
Copyright © 2011-2022 走看看