牛客網浙江大學機試 找出直系親屬

2021-09-10 12:57:36 字數 1587 閱讀 3470

題目:牛客網鏈結

概述:用三個字母表示出三個人的關係,並回答提出的問題。

思路:這題採用兩種方法:

採用陣列解決問題

陣列用來儲存子女的下標(反正是獨生子女),找關係的時候就不斷地搜尋子女。這裡分為兩種情況,一種是第乙個字母是第二個字母的長輩,另乙個是第乙個字母是第二個字母的晚輩。只要把引數順序倒過來即可。

採用樹的方法來解決問題。這裡就沒寫貼上的牛客網的**。思路很清晰,很適合複習二叉樹相關的知識。

陣列:

#include

#include

using

namespace std;

int child[

200]

;int

find_child

(int a,

int b,

int count)

else

if(child[a]

== b)

int temp =

find_child

(child[a]

, b, count+1)

;return temp;

}int

main()

if(temp[2]

!='-')}

//輸入查詢的問題

char ques[3]

;for

(int i =

0; i < m; i++

)printf

("grandparent\n");

}continue;}

flag =

find_child

(ques[1]

, ques[0]

,1);

if(flag)

printf

("grandchild\n");

}continue;}

else}}

return0;

}

二叉樹:

2c958d09d29f46798696f15ae7c9703b

#include

#include

#define n 26

using

namespace std;

struct nodetree[n]

;//順序儲存,下標就是它所代表的字元編號,比如0代表'a'

intpreorder

(int from,

int to,

int depth)

if(tree[from]

.p2!=-1

)return-1

;}intmain()

while

(n--

)//構建樹

while

(m--

)//查詢

else

//看來不是晚輩,那就是長輩了

else

printf

("-\n");

//也不是長輩,那就不是直系親屬}}

}return0;

//大功告成

}

牛客網 浙江大學 排名 解題報告

今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的考生,並將他們的成績按降序列印。測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n 0 n 1000 考題數m 0 m...

浙江大學機試 尤拉迴路

題目 牛客網鏈結 概述 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?思路 確定無向圖尤拉迴路的充要條件 除孤立節點外,其它節點滿足 1.連通 2.度為偶數。這裡採用並查集進行操作,具體思路寫在注釋裡。採用scanf可以提高輸入效率,...

2023年浙江大學機試第2題

題目要求 統計乙個給定字串中指定的字元出現的次數 具體的輸入輸出格式規定如下 輸入格式 測試輸入包含若干測試用例,每個測試用例包含 2行,第 1行為乙個長度不超過 5的字串,第 2行為乙個長度不超過 80的字串。注意這裡的字串包含空格,即空格也可能是要求被統計的字元之一。當讀到 時輸入結束,相應的結...