第11屆B組省賽 平面分割

2021-10-10 13:15:51 字數 1500 閱讀 6080

推導背景:增加的平面個數等於增加的交點個數加一

所以核心思想就變成了求解每次加入直線時新產生的交點個數;

讓每次新加入的直線與之前的所有直線求交點

初始化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...