推導背景:增加的平面個數等於增加的交點個數加一
所以核心思想就變成了求解每次加入直線時新產生的交點個數;
讓每次新加入的直線與之前的所有直線求交點
初始化v v裡放的是新加入的節點增加的交點個數。
無交點 繼續加入
有交點判斷是否有重點 有繼續 沒有加入v集合
直到當前直線與之前所有直線求過交點後,得出交點個數也就是v.size()為新加入直線後增加的交點個數。
ans做累計求和
接下來在此增加新的直線。
參考出處
題解:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
typedef
unsigned
long
long ull;
#define ms(s) memset(s, 0, sizeof(s))
const
int inf =
0x3f3f3f3f
;const
int maxn =
1010
;int n, ans;
int a[maxn]
,b[maxn]
;struct point
;bool
isequal
(point a, point b)
point crosspoint
(int m,
int n);}
point cp =
point()
; cp.x =
(y2 - y1)
/(x2 - x1)
;return cp;
}int
main()
ans =2;
for(
int i =
2; i <= n; i++)}
//沒有就新增進入交點集合
if(flag ==
false
) v.
push_back
(now);}
ans +
= v.
size()
+1;}
cout << ans << endl;
return0;
}
第十屆藍橋杯B組省賽第B題
試題 b 年號字串 26進製數 問題描述 小明用字母 a 對應數字 1,b 對應 2,以此類推,用 z 對應 26。對於 27 以上的數字,小明用兩位或更長位的字串來對應,例如 aa 對應 27,ab 對 應 28,az 對應 52,lq 對應 329。include include include...
2016屆藍橋杯省賽B組 第5題 勾股定理
勾股定理,西方稱為畢達哥拉斯定理,它所對應的三角形現在稱為 直角三角形。已知直角三角形的斜邊是某個整數,並且要求另外兩條邊也必須是整數。求滿足這個條件的不同直角三角形的個數。資料格式 輸入乙個整數 n 0 n 10000000 表示直角三角形斜邊的長度。要求輸出乙個整數,表示滿足條件的直角三角形個數...
第十屆藍橋杯B組省賽第D題
試題 d 數的分解 40785 問題描述 把 2019 分解成 3 個各不相同的正整數之和,並且要求每個正整數都不包 含數字 2 和 4,一共有多少種不同的分解方法?注意交換 3 個整數的順序被視為同一種方法,例如 1000 1001 18 和 1001 1000 18 被視為同一種。include...