fork download
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. unsigned long long C(int N, int K)
  7. {
  8. unsigned long long r = 1;
  9. for(int i = 0; i < K; ++i) r *= N-i;
  10. for(int i = 1; i <= K; ++i) r /= i;
  11. return r;
  12. }
  13. unsigned long long G(int N)
  14. {
  15. return 1ull << N*(N-1)/2;
  16. }
  17. unsigned long long Conn(int N)
  18. {
  19. if (N < 2) return 1;
  20. unsigned long long r = 0;
  21. for(int K = 1; K < N; ++K) r += K*C(N,K)*Conn(K)*G(N-K);
  22. return G(N)-r/N;
  23. }
  24. int main()
  25. {
  26. for(int n = 1; n <= 11; ++n)
  27. cout << setw(2) << n << " : " << setw(23) << Conn(n) << endl;
  28. }
  29.  
Success #stdin #stdout 0s 4548KB
stdin
Standard input is empty
stdout
 1 :                       1
 2 :                       1
 3 :                       4
 4 :                      38
 5 :                     728
 6 :                   26704
 7 :                 1866256
 8 :               251548592
 9 :             66296291072
10 :          34496488594816
11 :       35641657548953344