拓撲排序的應用:
1、當前的輸入序列排序唯一,則輸出 sorted sequence determined after %d relations
2、當前輸入序列不唯一,檢查是否有環
3、全部輸入後,若排序唯一和有環,輸出1、2,否則輸出 sorted sequence cannot be determined
拓撲排序 每次選點入度為0的點唯一 則排序唯一
否則排序結果不唯一
若某次選擇點,不存在入度為0的點,則有環
#include #include int topo(int succ[26],int *inp,int *outp,int n,int *numbersucc,int *result)
} if (cnt==0) //沒有入度為0的點 說明存在環
return 2;
*(result+k) = firstnode;
in[firstnode] = -1; //已排好
k++; //k代表已經排好序的數量
if (k==n)
break;
for (i=0;i=0;j--)
printf("%c",result[j]+'a');
printf(".\n");
}else if (flag == 2)}}
} if (flag == 0)
printf("sorted sequence cannot be determined.\n");
} return 0;
}
POJ 1094 拓撲排序
文章大意是將n個字母排序 n 26 最終必須排成鍊錶式的輸出 一旦確定或者出現環,記錄當前步數,後續輸入無視 加個拓撲排序判斷圖的總結 1 如果輸入的有向圖中的點,不存在入度為0的點,則存在迴路,反過來則不成立 2 如果入隊的點的個數小於輸入的點的個數,則肯定存在迴路 3 如果存在的入度為零的點大於...
拓撲排序 poj1094
此題題目有點小問題,那也是很多人ac不了的原因 問題是,當給定的前k項條件能夠確定出大小順序時,即便k項之後出現了矛盾條件,輸出也應該是sorted sequence determined after k relations 後面再輸出排序好的序列!include include using nam...
POJ 1094 拓撲排序)
拓排 各種判 program p1094 type map3 record indegree array a z of longint map array a z 1.26 of char outdegree array a z of longint end var n,m,i,j,num,valu...