  In this paper, we present a new exact algorithm for counting perfect
matchings, which relies on neither inclusion-exclusion principle nor
tree-decompositions. For any bipartite graph of $2n$ nodes and $\Delta n$ edges
such that $\Delta \geq 3$, our algorithm runs with $O^{\ast}(2^{(1 - 1/O(\Delta
\log \Delta))n})$ time and exponential space. Compared to the previous
algorithms, it achieves a better time bound in the sense that the performance
degradation to the increase of $\Delta$ is quite slower. The main idea of our
algorithm is a new reduction to the problem of computing the cut-weight
distribution of the input graph. The primary ingredient of this reduction is
MacWilliams Identity derived from elementary coding theory. The whole of our
algorithm is designed by combining that reduction with a non-trivial fast
algorithm computing the cut-weight distribution. To the best of our knowledge,
the approach posed in this paper is new and may be of independent interest.
