```python m, n = map(int, input().split()) g = [[] for i in range(m)] for i in range(n): x, y = map(int, input().split()) g[x].append(y) g[y].append(x) res = 0 for i in range(1 << m): vis =[0]*m def dfs(cur): if vis[cur]: return vis[cur] = 1 for nxt in g[cur]: if (i >> cur) & 1 and (i >> nxt) & 1: return False if not vis[nxt] and dfs(nxt) == False: return False return True if dfs(0): res += 1 print(res) ```
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务