百度2017春招筆試真題

2021-07-31 07:06:17 字數 1760 閱讀 1812

好久不寫題,dp

都這麼生疏了,想不到複雜度合適的dp

。。。度度熊想去商場買一頂帽子,商場裡有n頂帽子,有些帽子的**可能相同。度度熊想買一頂**第三便宜的帽子,問第三便宜的帽子**是多少?

直接將所有**存入se

t 中,然後輸出第三小的即可。

剛開始沒注意不能相等,直接排序輸出,結果沒ac

,仔細看樣例後就能理解題目是求所有不同的**中第三小的。

#include 

#include

#include

#include

using

namespace

std;

int n, a;

set st;

int main()

if(st.size() < 3)

else

}return

0;}

三維空間中有n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用』r』, 『g』, 『b』表示。

現在要找出三個點,並組成乙個三角形,使得這個三角形的面積最大。

但是三角形必須滿足:三個點的顏色要麼全部相同,要麼全部不同。

直接列舉顏色全相同的三個點和顏色全部不同的三個點,取面積最大的即可,時間複雜度o(

n3) 。

忘了通過座標求面積的公式了,只得通過點積推出角度,然後求面積。

#include 

#include

#include

#include

using

namespace

std;

const

double eps = 1e-6;

struct node

node(int xx, int yy, int zz): x(xx), y(yy), z(zz) {}

node operator - (const node& a) const

double

operator * (const node& a) const

double length()

}p[3][53];

int n, cnt[3], x, y, z;

char color[3];

double ans;

double getarea(const node& pa, const node& pb, const node& pc)

return

0.5 * mul * sin(acos((pab * pac) / mul));

}int main()

else

if(color[0] == 'g')

else

}ans = 0;

//相同顏色

for(int c = 0; c < 3; ++c) }}

}//不同顏色

for(int i = cnt[0] - 1; i >= 0; --i) }}

printf("%.5lf\n", ans);

}return

0;}

度度熊有乙個n個數的陣列,他想將陣列從大到小排好序,但是萌萌的度度熊只會下面這個操作:

任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。

問最少操作多少次可以使得陣列從小到大有序? 這個d

p 沒有想到,看了參考題解還是不理解轉移方程的意思。。。



百度2017春招筆試真題程式設計題集合

程式設計題 買帽子 時間限制 1秒 空間限制 32768k 度度熊想去商場買一頂帽子,商場裡有n頂帽子,有些帽子的 可能相同。度度熊想買一頂 第三便宜的帽子,問第三便宜的帽子 是多少?輸入描述 首先輸入乙個正整數n n 50 接下來輸入n個數表示每頂帽子的 均是正整數,且小於等於1000 輸出描述 ...

百度2017春招筆試真題程式設計題集合 2

題目 乙個數軸上共有n個點,第乙個點的座標是度度熊現在位置,第n 1個點是度度熊的家。現在他需要依次的從0號座標走到n 1號座標。但是除了0號座標和n 1號座標,他可以在其餘的n 2個座標中選出乙個點,並直接將這個點忽略掉,問度度熊回家至少走多少距離?以下是原始碼 include include i...

百度2017春招筆試真題程式設計題集合 3

題目 三維空間中有n個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用 r g b 表示。現在要找出三個點,並組成乙個三角形,使得這個三角形的面積最大。但是三角形必須滿足 三個點的顏色要麼全部相同,要麼全部不同。以下是通過測試的原始碼 求三角形面積部分模仿 deeebug 已知三維空...