NYOJ–8–一種排序

來源:互聯網
上載者:User
一種排序時間限制:3000 ms  |  記憶體限制:65535 KB難度:3
描述
現在有很多長方形,每一個長方形都有一個編號,這個編號可以重複;還知道這個長方形的寬和長,編號、長、寬都是整數;現在要求按照一下方式排序(預設定序都是從小到大);

1.按照編號從小到大排序

2.對於編號相等的長方形,按照長方形的長排序;

3.如果編號和長都相同,按照長方形的寬排序;

4.如果編號、長、寬都相同,就只保留一個長方形用於排序,刪除多餘的長方形;最後排好序按照指定格式顯示所有的長方形;

輸入
第一行有一個整數 0<n<10000,表示接下來有n組測試資料;
每一組第一行有一個整數 0<m<1000,表示有m個長方形;
接下來的m行,每一行有三個數 ,第一個數表示長方形的編號,

第二個和第三個數值大的表示長,數值小的表示寬,相等
說明這是一個正方形(資料約定長寬與編號都小於10000);

輸出
順序輸出每組資料的所有合格長方形的 編號 長 寬
範例輸入
181 1 11 1 11 1 21 2 11 2 22 1 12 1 22 2 1
範例輸出
1 1 11 2 11 2 22 1 12 2 1
import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class NY_8 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n=input.nextInt();int a,b,c;while(n-->0){int m=input.nextInt();Rt [] arr=new Rt [m];for(int i=0; i<m; i++){Rt r=new Rt();r.no=input.nextInt();a = input.nextInt();b = input.nextInt();r.length=Math.max(a, b);r.width=a+b-r.length;arr[i]=r;}Arrays.sort(arr, new RtCom());System.out.println(arr[0].no+" "+arr[0].length+" "+arr[0].width);a=arr[0].no;b=arr[0].length;c=arr[0].width;for(int i=1; i<arr.length; i++){if(a==arr[i].no && b==arr[i].length && c==arr[i].width){continue;}else{System.out.println(arr[i].no+" "+arr[i].length+" "+arr[i].width);a=arr[i].no;b=arr[i].length;c=arr[i].width;}}}}}class RtCom implements Comparator{public int compare(Rt r1,Rt r2){if(r1.no != r2.no){return r1.no>r2.no?1:-1;}else if(r1.length != r2.length &&r1.no == r2.no){return r1.length>r2.length?1:-1;}else{return r1.width>r2.width?1:-1;}}@Overridepublic int compare(Object o1, Object o2) {// TODO Auto-generated method stubreturn 0;}}class Rt{int no,length,width;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.