深信服筆試第一題(第二題太長了根本沒讀)

2021-10-20 19:50:00 字數 1996 閱讀 8072

#深信服筆試第一題

回溯加雙迴圈取最大值

注意在計算函式裡,要將分母為0的情況去掉,這種排列是錯誤的,所以當出現這種排列時按照int_min處理

整體思路就是:

數字全排列加運算子全排列結果雙迴圈遍歷並保留陣列最大值

#include

#include

using

namespace std;

vector

int>> recall_number;

vector

char

>> recall_char;

vector<

int>visited_num;

vector<

int>visited_char;

intjs

(vector<

int> nums,vector<

char

> cha)

//計算函式

}return nums[size];}

void

dfs_num

(vector<

int> a,vector<

int>

& visited_num,vector

int>>

& recall_number,vector<

int>

& push)

//數字全排列

for(

int i=

0;isize()

;i++)}

}void

dfs_char

(vector<

char

> a,vector<

int>

& visited_char,vector

char

>>

& recall_char,vector<

char

>

& push)

//運算子全排列

for(

int i=

0;isize()

;i++)}

}int

main()

while

(size--

) vector<

int>

newnum

(numbers.

size()

,0);

vector<

int>

newchar

(symbol.

size()

,0);

visited_num.

swap

(newnum)

; visited_char.

swap

(newchar)

; vector<

int>push_num;

vector<

char

>push_char;

dfs_num

(numbers,visited_num,recall_number,push_num)

;dfs_char

(symbol,visited_char,recall_char,push_char)

;int max=int_min;

int jsout;

for(

int i=

0;isize()

;i++)}

cout<

recall_number.

clear()

; recall_char.

clear()

; visited_num.

clear()

; visited_num.

clear()

;}return0;

}

狡兔三窟問題(深信服提前批筆試第一題)

題意大概時這個樣子的 因為是第一次筆試,太緊張了,實力也不夠,一時沒想起來,挺可惜的。當時感覺是列舉 dfs,但是沒過,後來覆盤的時候,驚覺dp 滾動陣列完美解決。思路 可以呆的洞為1,不可以的為0,先全部初始化為1,橫座標代表洞的標號,縱座標代表第幾天。第j天被檢查的洞一定是0 如果是1號洞或是m...

阿里筆試第一題

問答題1 輸出結果 21.25 7.50 30.00 2.50 從左到右依次為執行時間 單位是ms 此sql語句的分類,sql語句 2.5 0 insert into tablea values 1,columna columnb 12.5 1 insert into tableb values 2...

鉑金第二期第一題

對於一道題來說,小q會統計最短的驗題人 長度 shortest judge solution 以及賽內參賽隊伍最短的ac 長度 shortest team solution 統計驗題人 長度比較容易,因為驗題人最多也不會超過2020個。但是統計選手 長度就不容易了,因為大賽區動輒三四百支隊伍。請寫乙...