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

    一种排序

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
     
    描述
    现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);

    1.按照编号从小到大排序

    2.对于编号相等的长方形,按照长方形的长排序;

    3.如果编号和长都相同,按照长方形的宽排序;

    4.如果编号、长、宽都相同,就只保留一个长方形用于排序,删除多余的长方形;最后排好序按照指定格式显示所有的长方形;
     
    输入
    第一行有一个整数 0<n<10000,表示接下来有n组测试数据;
    每一组第一行有一个整数 0<m<1000,表示有m个长方形;
    接下来的m行,每一行有三个数 ,第一个数表示长方形的编号,

    第二个和第三个数值大的表示长,数值小的表示宽,相等
    说明这是一个正方形(数据约定长宽与编号都小于10000);
    输出
    顺序输出每组数据的所有符合条件的长方形的 编号 长 宽
    样例输入
    1
    8
    1 1 1
    1 1 1
    1 1 2
    1 2 1
    1 2 2
    2 1 1
    2 1 2
    2 2 1
    
    样例输出
    1 1 1
    1 2 1
    1 2 2
    2 1 1
    2 2 1

     1 #include<iostream>
     2 using namespace std;
     3 #include<algorithm>
     4 #define N 1010
     5 struct rectange
     6 {
     7     int num;
     8     int l;
     9     int w;
    10 }rec[N];
    11 
    12 bool Comp(rectange a,rectange b)
    13 {
    14   if(a.num<b.num)  return true;
    15   if(a.num==b.num&&a.l<b.l) return true;
    16   if(a.num==b.num&&a.l==b.l&&a.w<=b.w) return true;
    17   return false;
    18 }
    19 
    20 int main()
    21 {
    22     int n,m,i;
    23     cin>>n;
    24     while(n--)
    25     {
    26         cin>>m;
    27         for(i=0;i<m;i++)
    28         {
    29             cin>>rec[i].num>>rec[i].l>>rec[i].w;
    30             if(rec[i].l<rec[i].w)
    31             {
    32                 int temp=rec[i].l;rec[i].l=rec[i].w;rec[i].w=temp;
    33             }
    34         }
    35         sort(rec,rec+m,Comp);
    36         cout<<rec[0].num<<" "<<rec[0].l<<" "<<rec[0].w<<endl;
    37         for(i=1;i<m;i++)
    38         {
    39             if(rec[i].num==rec[i-1].num&&rec[i].l==rec[i-1].l&&rec[i].w==rec[i-1].w)
    40                 continue;
    41             cout<<rec[i].num<<" "<<rec[i].l<<" "<<rec[i].w<<endl;
    42         }
    43 
    44     }
    45     return 0;
    46 }
  • 相关阅读:
    大数加法、乘法实现的简单版本
    hdu 4027 Can you answer these queries?
    zoj 1610 Count the Colors
    2018 徐州赛区网赛 G. Trace
    1495 中国好区间 尺取法
    LA 3938 动态最大连续区间 线段树
    51nod 1275 连续子段的差异
    caioj 1172 poj 2823 单调队列过渡题
    数据结构和算法题
    一个通用分页类
  • 原文地址:https://www.cnblogs.com/ljwTiey/p/4303014.html
Copyright © 2011-2022 走看看