題目:牛客網鏈結
概述:用三個字母表示出三個人的關係,並回答提出的問題。
思路:這題採用兩種方法:
採用陣列解決問題
陣列用來儲存子女的下標(反正是獨生子女),找關係的時候就不斷地搜尋子女。這裡分為兩種情況,一種是第乙個字母是第二個字母的長輩,另乙個是第乙個字母是第二個字母的晚輩。只要把引數順序倒過來即可。
採用樹的方法來解決問題。這裡就沒寫貼上的牛客網的**。思路很清晰,很適合複習二叉樹相關的知識。
陣列:
#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的字串。注意這裡的字串包含空格,即空格也可能是要求被統計的字元之一。當讀到 時輸入結束,相應的結...