面試OR筆試2 城堡問題1

2021-08-03 14:29:43 字數 1333 閱讀 2631

將軍大勝歸來,奪取許多城堡(

xi,yi

)。國王許可,你站在任意的城堡上,選擇任意視角,看得見的城堡都是你的,包括你站的城堡,但頭不能動。而且你不能站在城堡構成的凸焦點上。將軍的視角剛好小於

180度(無限接近

180度),可以看得無限遠。請計算出將軍最多能得多少城堡。如果所有的城堡都在凸焦點上(直線中的點不算凸焦點),那麼將軍乙個城堡也得不到。

輸入

:

第一行,整數

m,表示接下來有

m行。接下來的

m行,每行都有

2個數,表示乙個城堡的座標。

輸出

:

最多獲得的城堡個數。

輸入範例

:5

0 0

0 2

1 0

1 2

0.2 1.8

輸出範例

:4

\n表示換行 1

)5\n0 0\n0 2\n1 0\n1 2\n0.2 0.8\n

答案為4 2

)5\n0 0\n1 0\n1 1\n0 1\n0.5 0.5\n

答案為3 3

)5\n0 0\n0.5 0.5\n1 1\n1 0\n0.5 0\n

答案為4

假設將軍站在某個城堡a上,然後朝乙個方向看,為了最可能多的包含多的城堡,假設其視線的乙個邊緣恰好經過某個(或者某些在一條線上的)城堡b,然後分別計算該直線兩側的點的個數n1和 n2,還得計算射線ab上的城堡個數 n0(至少為2,因為a和b在其上)。如果a是凸焦點則為0,否則為n0 + max(n1,n2)。然後將軍遍歷所有站立的城堡,返回最大的。

#include #include #include #include using namespace std;

// 請完成下面這個函式,實現題目要求的功能

//當然,你也可以不按照這個模板來作答,完全按照自己的想法來 ^-^

struct point

};point castlehelp(point p1, point p2, point p3)

int castle(vectorpoints)

}if (acos(-1) <= theta1 + theta2)

} return ret;

}int main()

cout << castle(points) << endl;

return 0;

}

筆試面試題目1

1.求重合段的長度 size t foo unsigned int a1,size t al1,unsigned int a2,size t al2 其中a1和a2都為無符號陣列,al1和al2為陣列的長度,陣列的長度為偶數。無符號陣列由一對數字區間組成。如下例 a1 為 0,1,3,6,10,20...

筆試面試錯題集2

1 以下哪些命令可以檢視當前系統的啟動時間 a w b top c ps d uptime w顯示當前登入者 top顯示當前任務 ps顯示所有程序資訊 uptime可以檢視系統啟動時間 2 與逆波蘭表示式ab cd 對應的中綴表示式是 a a b c d b a b c d c a b c d d ...

各種筆試面試經歷小總結(1)

今天參加了一家it公司的筆試,涉及到幾個c 的問題,之前並沒有搞太清楚,小總結一下。問題一 關於c 的虛函式,引入虛函式的意義。我們知道,多型性是物件導向程式設計的重要特徵,一般定義是 向不同物件傳送同一訊息,不同物件在接收到該訊息時會有不同的處理方法。那麼實現多型性有兩種方式,一種是靜態多型性,另...