// 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...