PTA 家譜處理 資料結構

2021-08-17 07:27:15 字數 1394 閱讀 5195

比賽的時候愣是用map< string, int>的值代表了這個人所處家譜中的層次

後來借鑑了小明學長的思路, 給每個人編id號, 用值表示每個對應的id

用fa[maxn]存的是每個人的父親id, fa[id] = 父親的id

有乙個小問題, ac之後想關閉io同步提一波速, 沒料到pta很玄學地直接給我返了wa???

本地測沒問題, 檢查**也沒有混用, 按理說pta應該支援的呀? 唯一不確定的是getline(cin,s); 在關閉io同步之後會產生什麼特殊的化學反應嗎?? 搜了一波資料也沒找到相應的回答. 如果有清楚這個點是啥原因的dalao能夠告訴我~ 靴靴~

#include 

#include

#include

#include

#include

#include

#include

#include

#define mst(a) memset(a,0,sizeof(a));

using

namespace

std;

/*parent (直系)父

child (直系)孩子

ancestor 祖先

sibling 同輩

descendant 後裔

*/const

int maxn = 100 + 5;

string s;

map maps;

int a[maxn], fa[maxn];

vector

vec[maxn];

bool dfs(int a, int b)

return

false;

}bool solve( string stra, string strb, char ch )

}int main()

k /= 2;

maps[name] = cnt++;

int id = maps[name];

if( k != 0 )

else fa[id] = -1; //最大祖先沒有father

a[k+1] = id; //更新當前層數的father

}while( test-- )

return

0;}

PTA 家譜處理

這題一開始以為是大模擬,但是看了別人以後的題解發現,有更好的解法。我們可以觀察出,這個輸入順序決定了每個人的num 2個空格一定是他的父親,所以直接記錄就行,lca暴力跳就可以了,不用倍增。include include include include include include include...

pta資料結構

是否二叉搜尋樹 這題只要是了解二叉查詢樹的特點。bool isbst bintree t while right1 return isbst t left isbst t right 線性探測法的查詢函式 主要注意雜湊函式,這裡那個常量是真的坑,卡了半天。position find hashtabl...

PTA資料結構單選

最近學習資料結構鍊錶,被每週作業題所困。現做題解,以此共勉。析 不帶頭節點的單向鍊錶,一定具有頭指標,且在這兒以頭指標冠以鍊錶名。頭指標指向第乙個節點的儲存位置。向空鍊錶插入元素,則讓該插入元素的鏈結位址為h 第乙個節點的位置 再使頭指標h指向該元素。析 頭節點 位於首節點之前,為空,則鏈結位址為n...