hdu 1466 計算直線的交點數

2021-06-20 01:21:47 字數 418 閱讀 5489

採用陣列dp[i][j]。若dp[i][j]==1,則說明放i條直線有j個交點,則只需要把dp[n][i]從i=0到i=190掃一遍,因為20條直線最多有190個交點。

轉移為:要求i條直線有多少個交點,則此i條直線可以分為兩組,一組是j條平行線,另外一組是i-j條自由線,則此種交法的交點數就為(i-j)*j+k(k為j條自由線的交點數)。

#include#includeint main()

{ int dp[21][191];

int n,m,i,j,k;

memset(dp,0,sizeof(dp));

for(i=1;i<=20;i++)

dp[i][0]=1;//初始化,一定有0個交點,所以dp[i][0]==1

for(i=1;i<21;i++)

for(j=0;j

hdu 1466 計算直線的交點數

include intmain return0 一 n條直線把空間分成幾部分 現在說地是空間了,不是平面了,要注意!我們來討論一下吧 點分線 0維分1維 c n,1 c n,0 線分面 1維分2維 c n,2 c n,1 c n,0 麵分空間 2維分3維 c n,3 c n,2 c n,1 c n,...

hdu 1466 計算直線的交點數

平面上有n條直線,且無三線共點,問這些直線能有多少種不同交點數。比如,如果n 2,則可能的交點數量為0 平行 或者1 不平行 input 輸入資料報含多個測試例項,每個測試例項佔一行,每行包含乙個正整數n n 20 n表示直線的數量.output 每個測試例項對應一行輸出,從小到大列出所有相交方案,...

HDU1466 計算直線的交點數

1 n條直線互不平行且無三線共點的最多交點數max 1 2 n 1 n n 1 2 2 一般統計的方法 假設一共有n a b條直線 即n條直線分成2組,分別為a條和b條 則 總的交點數 a內的交點數 b內的交點數 a,b之間的交點數 3 我們來分析加入第n條直線的情況 這裡以n 4為例 分類方法 和...