有個人的家族很大,輩分關係很混亂,請你幫整理一下這種關係。
給出每個人的孩子的資訊。
輸出乙個序列,使得每個人的後輩都比那個人後列出。
第1行乙個整數n(1≤n≤100),表示家族的人數;
接下來n行,第i行描述第i個人的兒子;
每行最後是0表示描述完畢。
輸出乙個序列,使得每個人的後輩都比那個人後列出;
如果有多解輸出任意一解。
5
04 5 1 0
1 05 3 0
3 0
2 4 5 3 1
陣列版 拓撲排序
ac code:
#include#include#include#include#include#include#include #include #include #include#include#include #include#include #include #define inf 0x3f3f3f3f
#define eps 0.000000001
#define maxn (int)1e5+10
using namespace std;
typedef pairpii;
int ans[101][101];
int r[101];
int c[101];
stackv;
int main()
}for(int i=1;i<=t;++i)
int num=0;
dousing namespace std;
inline int read()
while (c>='0'&&c<='9') x=(x<<3)+(x<<1)+(c^48),c=getchar();
return x*f;
}struct edgeedge[maxn];
int head[maxn],tot;
int deg[maxn];
int ans[maxn];
int k = 1;
int t;
void init()
inline void add(int from,int to)
void topsort()//拓撲排序
while(q.size())
}}int main()
}topsort();
for(int i = 1;icout<}
家譜樹(拓撲)
家譜樹 問題描述 有個人的家族很大,輩分關係很混亂,請你幫整理一下這種關係。給出每個人的孩子的資訊。輸出乙個序列,使得每個人的後輩都比那個人後列出。輸入格式 第1行乙個整數n 1 n 100 表示家族的人數。接下來n行,第i行描述第i個人的兒子。每行最後是0表示描述完畢。輸出格式 輸出乙個序列,使得...
家譜樹 樹的利用
include include include include define maxsize 20 typedef struct treenode treenode treenode tree void createtree treenode t 建立乙個家譜 void printtree tree...
字典樹 拓撲排序 第一!
bessie一直在研究字串。她發現,通過改變字母表的順序,她可以按改變後的字母表來排列字串 字典序大小排列 例如,bessie發現,對於字串串 omm moo mom 和 ommnom 她可以使用標準字母表使 mom 排在第乙個 即字典序最小 她也可以使用字母表 abcdefghijklonmpqr...