I 同線的點

2021-08-02 04:41:55 字數 1050 閱讀 4368

題目描述

給你n個二維座標的點,判斷它們是否在同一水平線或同一豎直(平行於y軸)的線上。

是則輸出yes,否則輸出no

輸入

第一行輸入乙個整數n表示有n個點。

接下來n行,每行輸入一對整數x,y。表示這個點的座標。

保證:2 ≤ n ≤ 10

-10 ≤ x,y ≤ 10

輸出

判斷它們是否在同一水平線或同一豎直(平行於y軸)的線上。

是則輸出yes,否則輸出no

input

5

0 10 2

0 30 4

0 5

output

yes

input

5

0 10 2

1 30 4

0 5

output

no

這題學長給的思路是兩組的直線所成的斜率相等,為了防止有特殊的情況(斜率不存在)可進行轉換

(y2-y1)/(x2-x1)=(yi-y1)/(xi-x1)>=(y2-y1)(xi-x1)=(yi-y1)(x2-x1)

其實我不是很明白學長這句話的意思,開始的時候我想把兩列數字放在陣列裡面,然後陣列之間的各個數之間進行比較,如果其中的乙個陣列全部一樣就輸出乙個「yes」,否則輸出「no」,但是當我真正去實現的時候,發現這種方法有很多的bug,在比賽場裡,我唯一一次淡定,然後果斷換了乙個思路:還是把兩列數字放在陣列裡,然後排一下序,如果第乙個數與最後乙個數相等的話,證明這個陣列全部一樣,說明他們在同一豎直或同一水平的線上(因為只要在同一直線上,其中的x軸或y軸的某個座標肯定是一樣的),下面是我的**:

#include#include#include#include#include#includeusing namespace std;

int main()

{ int n,i,k=0;

int a[20],b[20];

scanf("%d",&n);

for(i=0;i

matlab裡不同顏色標記不同線點

一 plain view plain copy plot x1,y2,x2,y2,x3,y3,此方法比較簡單,能滿足一般需要。但預設只能在7種顏色之間迴圈,具體的顏色可通過 plain view plain copy get gca,colororder 命令檢視 二 設定顏色陣列,通過迴圈使用不同...

立體空間中的點(I)

description 設計乙個平面上的點point類和3維的點point 3d類,滿足point 3d類繼承自point類,用於讀取輸入的資料,輸出所構造的兩種點的座標。設計point類需支援一下操作 point point 無參構造。point point double,double 兩個座標引...

立體空間中的點(I)

problem e 立體空間中的點 i time limit 1 sec memory limit 128 mb submit 4054 solved 3236 submit status description設計乙個平面上的點point類和3維的點point 3d類,滿足point 3d類繼承自...