noip模擬題 合理種植

2022-04-30 06:09:08 字數 1343 閱讀 5585

【問題描述】

大cos在氯銫石料場幹了半年,受盡了勞苦,終於決定辭職。他來到表弟小cos的寒樹中學,找到方克順校長,希望尋個活幹。

於是他如願以償接到了乙個任務……

美麗寒樹中學種有許多寒樹。方克順希望校園無論從什麼角度看都是滿眼寒樹,因此他不希望有三棵甚至更多寒樹種在一條直線上。現在他把校園裡n棵寒樹的座標都給了大cos,讓他數出存在多少多樹共線情況。(若一條直線上有三棵或以上的樹,則算出現乙個多樹共線情況。)

【輸入】

輸入檔名為plant.in。

第1行乙個正整數n,表示寒樹棵數。

接下來n行,每行兩個非負整數x、y,表示一顆寒樹的座標。沒有兩顆寒樹在同一位置。

【輸出】

輸出檔名為plant.out。

輸出乙個整數,表示存在多少多樹共線情況。

【輸入輸出樣例】

plant.in

plant.out

0 01 1

2 23 3

0 11 0

【資料範圍】

對於30%的資料,有n≤10;

對於50%的資料,有n≤100;

對於100%的資料,有n≤1,000,0≤x,y≤10,000。

這道題純屬數學題,先o(n2)跑一道,把任意兩點之間的斜率求出來,再用o(n3)判斷三條個點是否共線,至於判重嘛。。就自己想一下了

(論常數的重要性)

code

1 #include2 #include3 #include4

using

namespace

std;

5 ifstream fin("

plant.in");

6 ofstream fout("

plant.out");

7 typedef bool

boolean;

8 typedef class

pointpoint;

13 istream& operator >>(istream& in,point&p)

16 point *ps;

17int

n;18

int_x,_y;

19long

long ks[1001][1001

];20 boolean vis[1001][1001

];21

long

long result = 0;22

intmain()35}

36for(int i = 1;i < n - 1;i++)else46}

47}48}

49}50 fout<51return0;

52 }

NOIP模擬題 連通

給定乙個無向圖,請編寫乙個程式實現以下兩種操作 1 d x y,從原圖中刪除連線x和y頂點的邊。2 q x y,詢問x和y頂點是否連通。這也是連通問題,考慮用並查集解決。但是這是刪除的問題耶,怎麼辦?考慮將刪除變為連通,能不能將所有操作給反過來,從最後乙個操作開始處理。當然是可以的。include ...

Noip模擬題 山峰

description在n m的棋盤上不重複的填1到n m 如果乙個數字比周圍的八個數字大,那麼他就是乙個山峰。現在告訴你所有山峰的位置,問你填數的方案數mod 12345678 input 輸入第一行兩個數字 n m意義如題目描述。接下來n 行,每行 m個字元,表示非山峰,x 表示山峰。1 n 4...

NOIP模擬題 訂餐

題目描述 這個週末,joe 一如既往的拿出了外賣的點餐單。選單上從上到下列著 n 個菜,每個菜 joe 會列出乙個美味值。joe 這次希望從選單上連續地點 k 個菜,並且美 味值之和最大。但在計算美味值之和時,joe 有自己的一套計算方法 由於他會按照順序享受這 k 個菜,並且越吃越後面的菜他就越享...