P2181 對角線 洛谷

2022-05-22 20:03:13 字數 690 閱讀 4960

對於乙個 nn 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。

例如,66 邊形:

輸入只有一行乙個整數 nn,代表邊數。

輸出一行乙個整數代表答案。

輸入 #1複製

3
輸出 #1複製

0
輸入 #2複製

6
輸出 #2複製

15
資料規模與約定

#include 

int main()

這是乙個數學問題

這個作者已經說的很好了

我們可以發現,兩條不平行對角線才會有乙個交點,同時,兩條對角線又確定了乙個四邊形,也就是確定了4個頂點。如果我們確定了4個頂點的組合方式,我們也就能確定有多少個四邊形,進而確定有多少個對角線交點。用排列組合的計算公式就是

即n*(n-1)(n-2)(n-3)/(4321)

考慮到如果初始n很大時,上面結果會超級大,可以改寫成n(n-1)/2*(n-2)*/3(n-3)/4

那為什麼這樣一定是對的呢?難道不會因為除不盡卻向下取整而導致錯誤嗎?

事實上是一定除得盡的

首先n和n-1一定有乙個是2的倍數,因此2可以除盡,

洛谷P2181 對角線

對於乙個 n 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。例如,6邊形 輸入格式 輸入只有一行乙個整數nn,代表邊數。輸出格式 輸出一行乙個整數代表答案。輸入輸出樣例輸入3 輸出0輸入6 輸出15 分析 由於任何三條對角線不交於同一點,所以2條對角線確定乙個點,...

洛谷題目 P2181 對角線

題目描述 對於乙個 nnn 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。例如,666 邊形 輸入格式 輸入只有一行乙個整數 nnn,代表邊數。輸出格式 輸出一行乙個整數代表答案。輸入輸出樣例 輸入 1 輸出 1 輸入 2 輸出 2 說明 提示 資料規模與約定 對...

洛谷 P2181 對角線 全面分析

對於乙個 n 個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。練python刷簡單題刷到了這個,挺有趣的一道題目。對於乙個 n 邊形,選任意乙個點a可以引出 n 3 條對角線。相鄰的點b再引出 n 3 條線,分別與前者有 1,2 n 3 個交點。與b相鄰且不與a相鄰...