Cezar題解 拓撲排序

2021-09-24 17:25:43 字數 1543 閱讀 9977

思路**

給你 n

nn 個串,通過改變字元優先順序按指定順序排列

拓撲排序,考試時寫wa了。

首先,我們要判斷有包含關係的情況

然後,對於排序後兩個串第乙個不同處我們令a[i

]a[i]

a[i]

向 b [i

]b[i]

b[i]

連邊表示 a[i

]

i]a[i] a[

i]

i]跑完我們依次給字元賦值就可以了

回顧拓撲排序寫法:

將所有入度為0的點加入佇列,每次取出乙個節點記錄並刪除連線其他點的邊,同時再加入入度為0的點,最後如果記錄節點小於n則有環無解。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ll long long

intread()

while

('0'

<=c&&c<=

'9') x=

(x<<3)

+(x<<1)

+c-'0'

,c=getchar()

;return f*x;

}#define maxn 100

#define inf 0x3f3f3f3f

int in[maxn+5]

;vector<

int> g[30]

;char chan[maxn+5]

;void

topological_sort

(int n)}if

(int

(ans.

size()

)!=n)

puts

("ne");

else

return;}

int a[maxn+5]

;char s[maxn+5]

[maxn+5]

,t[maxn+5]

[maxn+5]

;int

main()

}if(!flag&&

strlen

(t[t]+1

)>

strlen

(t[t+1]

+1))

}topological_sort(26

);return0;

}

Leetcode題解 DFS 拓撲排序

深度優先搜尋 儲存有向圖 edges collections.defaultdict list 標記每個節點的狀態 0 未搜尋,1 搜尋中,2 已完成 visited 0 numcourses 用陣列來模擬棧,下標 0 為棧底,n 1 為棧頂 result list 判斷有向圖中是否有環 valid...

python 拓撲排序 Python 拓撲排序

python 拓撲排序 在圖論中,由乙個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖的乙個拓撲排序 英語 topological sorting 每個頂點出現且只出現一次 若a在序列中排在b的前面,則在圖中不存在從b到a的路徑。print 拓撲排序結果 g.topologicalso...

HDU 1285 確定比賽名次(拓撲排序)題解

problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序...