將軍大勝歸來,奪取許多城堡(
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 的虛函式,引入虛函式的意義。我們知道,多型性是物件導向程式設計的重要特徵,一般定義是 向不同物件傳送同一訊息,不同物件在接收到該訊息時會有不同的處理方法。那麼實現多型性有兩種方式,一種是靜態多型性,另...