#27363: Java 解題詳解


s10914054@gm.cyut.edu.tw (Justin Tseng)

學校 : 不指定學校
編號 : 167107
來源 : [223.137.177.247]
最後登入時間 :
2022-08-30 17:42:14
a915. 二维点排序 | From: [42.76.36.70] | 發表日期 : 2021-09-27 14:21

import java.util.*;

 

public class a915

{

public static void main(String[] args)

{

boolean change;

int min,position=0,temporary;

 

Scanner sc=new Scanner(System.in);

int number=sc.nextInt();

 

int x[][]=new int[number][2];

for(int i=0;i<number;i++)

{

x[i][0]=sc.nextInt();

x[i][1]=sc.nextInt();

}

 

for(int i=0;i<x.length;i++)

{

min=x[i][0]; //假設x[i][0]舊式最小值 放進min

for(int j=i+1;j<x.length;j++) //從x[i+1][0]開始跑

{

change=false;

if(min>x[j][0] || (min==x[j][0] && x[i][1]>x[j][1])) //若找到比min還要小的值 就將該值放進min 並且紀錄下該值的位置到position

{

min=x[j][0];

position=j;

change=true;

}

if(change) //將min中的值的位置與x[i][0]的位置做轉換 [i][1]亦同

{

temporary=x[i][0];

x[i][0]=x[position][0];

x[position][0]=temporary;

temporary=x[i][1];

x[i][1]=x[position][1];

x[position][1]=temporary;

}

}

}

 

for(int i[]:x)

System.out.println(i[0]+" "+i[1]);

 

sc.close();

}

}

 
ZeroJudge Forum