If you have a DAG, Gdirected acyclic graph (DAG) $G$, a topological sort is just an ordering of the vertices such that if an edge x->y$x \to y$ exists in G$G$, then the index of x$x$ is less than the index of y$y$.
It's not hard to figure out how a topological sort can be given, but how efficiently can one compute the total number of topological sorts that exist for a given acyclic graph?