iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

CPE題目練習系列 第 14

[Day14]Fourth Point!!

  • 分享至 

  • xImage
  •  

上一篇介紹了Parking,題目是說在一條很長的道路上,選擇任意位子停車,要輸出走去各點並回到停車處的最小距離,是一題計算最小距離的題目,不管在哪停車,走訪各點並回到停車處最近的方式是,
分別走返停車的最左與最右邊的點(途中會經過其他點,也算走過),因此,題目可以看成計算兩個相隔最遠的商店距離。

今天講解的題目是Fourth Point!!
先附上程式碼:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextDouble()){
double a[][]=new double[4][2];
double b[]=new double[2],x=0,y=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=sc.nextDouble();
}
for(int j=0;j<i;j++){
if(a[j][0]==a[i][0] && a[j][1]==a[i][1]){
b[0]=a[i][0];
b[1]=a[i][1];
}
}
}
for(int i=0;i<a.length;i++){
if(!(a[i][0] == b[0] && a[i][1]==b[1])){
x+=a[i][0];
y+=a[i][1];
}
}
x=x-b[0];
y=y-b[1];
System.out.printf("%.3f %.3f",x,y);
System.out.println("");
}
}
};

這題題目會給我們平行四邊形的四個座標,其中有兩個座標是相同的,只要找出相同的兩個,再利用對角線相加的原理就可以解出這題了,所有座標均在−10000和+10000之間,這題一定會給出兩個相同的,所以也不用擔心沒有的情況,但這題是有使用浮點數的,所以不能單純使用INT下去解答。
今天的講解就到這裡。
明天也是新的題目,會介紹Prime Gap,繼續加油!


上一篇
[Day13]Parking
下一篇
[Day15]Prime Gap
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言