poj1094 拓撲排序

2021-06-29 10:32:38 字數 889 閱讀 6347

//  creat  by  郭仔   2023年3月29日9:12:52

//畫圖演示一遍就能很好的理解了

/*題意:輸入n, m,n表示26個大寫字母組成的字母表中前n個字母,m表示將輸入m對字母的大小關係式,

(ch1 < ch2)問根據輸入多少個關係式時能惟一確定這n個字母有可能出現的關係,共有3 種情況:

(1)如果出現ch1 < ch2同時又有ch1 > ch2則表示這n個字母是inconsistency。

(2)能確定有惟一這n個的字母的拓撲序。

*///(3)不能根據輸入的m對關係確定這n個字母邏輯大小的關係。

#include

#include

#include

#define max 30

int m,n;

bool tu[max][max];

int count[max];//記錄點的入度的值

char order[max];

int topsort()

bool flag=true;

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

}if(i==0) return 0;

count[i]=-1;

order[k-1]='a'+i-1;

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

if(tu[i][j]) count[j]--;

}if(flag) return 1;

else return 2;

}int main()

else if(resute==1)

}if(!h) 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...