510C Fox And Names(拓撲排序)

2021-06-28 14:34:56 字數 793 閱讀 9332

題目傳送門

給n個字串,問是否存在字母序列,使得這n個字串是按照該字典序呈遞減排列。

將各個字母看做乙個點,根據輸入的字串來確定大小關係,先後輸入的兩個字串s[i]與s[i+1],設其第j個字母不同,則此時字母s[i][j]與s[i+1][j]的大小關係可以確定,由字母s[i][j]到s[i+1][j]連一條有向邊來表示前者》後者,同時後者入度+1。

注意如果s[i+1]是s[i]的字首,且s[i+1]長度小於s[i],則顯然不可能構造出字母序列。直接輸出impossible。

否則進行拓撲排序,如果最終得到的字母少於26個,則說明有環存在,即存在矛盾,無解。否則依次輸出字母序列即可。

#includeusing namespace std;

char ans[30];

bool edge[30][30];

int deg[30];

char s[101][105];

bool solve()

}while(!q.empty())

edge[p][i]=0;}}

}if(t==26) return 1;

return 0;

}int main()

{ int i,j,n,m;

bool flag=1;

cin>>n;

for(i=1;i<=n;++i)

scanf("%s",s[i]);

memset(edge,0,sizeof(edge));

memset(deg,0,sizeof(deg));

for(i=1;i

5 10 樹的遍歷

時間限制 400ms 記憶體限制 64mb 長度限制 16kb 判題程式 系統預設 單位 浙江大學給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。輸入格式 輸入第一行給出乙個正整數nnn 30 le 30 30 是二叉樹中結點的個數。第二行給出其後序遍...

5 10回坑小記

簡單說說最近自己的乙個心理狀態吧。從2 9開始上網課之後就突然失去了學oi的動力 一來是自招什麼的政策取消,二來又是疫情影響下不知道要不要搞的省選 雖然據說省隊要擴容 三來其實還是清楚地認識到了自己的實力不足以繼續走下去了,還是回去學學文化課什麼的比較好 然後本來都準備退役的鹹魚老年選手在結束了炸裂...

專案Alpha衝刺 5 10

這個作業屬於哪個課程 軟體工程1916 w 福州大學 這個作業要求在 專案alpha衝刺 團隊名稱 基於雲的勝利衝鋒隊 專案名稱 雲評 高校學生成績綜合評估及視覺化分析平台 這個作業的目標 團隊的 規範 本次衝刺任務與計畫 其他參考文獻 1.鄒欣.構建之法 m 3版 人民郵電出版社,2014.隊員學...