poj 2585 拓撲排序

2022-05-22 07:42:10 字數 832 閱讀 8207

這題主要在於建圖。對9個2*2的小塊,第i塊如果出現了不等於i的數字,那麼一定是在i之後被brought的。可以從i到該數字建一條邊。

圖建好後,進行一次拓撲排序,判段是否存在環。若存在環,那麼就是broken,否則是clean。

#include#include

#include

#define maxn 102

#define maxm 10010

using

namespace

std;

int graphic[maxn][maxn],indegree[maxn],n,m,map[maxn][maxn],vi[10

];int

topsort()}}

if(num<9

)

return0;

return1;

}int

main()

}int k=0

;

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

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

}if(map[i][j+1]!=k)

}if(map[i+1][j]!=k)

}if(map[i+1][j+1]!=k)}}

scanf("%s

",&str);

if(topsort())

printf(

"these windows are clean\n");

else

printf(

"these windows are broken\n");

}return0;

}

拓撲排序 POJ2585

poj2585 題意 有乙個4 4的顯示器,上面可以出現9種2 2的,這些可以相互覆蓋,問輸入的可否由那九種堆疊出來 題解 初始化基本資訊,拓撲排序判斷有無環出現 include include include include include using namespace std int map ...

POJ 1094 拓撲排序

文章大意是將n個字母排序 n 26 最終必須排成鍊錶式的輸出 一旦確定或者出現環,記錄當前步數,後續輸入無視 加個拓撲排序判斷圖的總結 1 如果輸入的有向圖中的點,不存在入度為0的點,則存在迴路,反過來則不成立 2 如果入隊的點的個數小於輸入的點的個數,則肯定存在迴路 3 如果存在的入度為零的點大於...

拓撲排序 poj1094

此題題目有點小問題,那也是很多人ac不了的原因 問題是,當給定的前k項條件能夠確定出大小順序時,即便k項之後出現了矛盾條件,輸出也應該是sorted sequence determined after k relations 後面再輸出排序好的序列!include include using nam...