#include #include #include #include const int K = 20; const int N = K+15; void randseed(); void packets(int M[N][K]); void pr(int M[N][K]); int po(int x, int y); int independent(int M[N][K], int i); int recv(int M[N][K]); double rate(int T, int suc[N+1]); main() { randseed(); int suc[N+1]; int T=1000; double S; S=rate(T,suc); printf("S=%f\r\n",S); for(int i=K;i<=N;i++) printf("%2d, %f\r\n",i-K,(double)suc[i]/T); } double rate(int T, int suc[N+1]) { int M[N][K]; for(int i=0;i<=N;i++) suc[i]=0; for(int t=0;t>j&1) a^=M[j][k]; if(a) { ok=1; break; } } if(!ok) return 0; } return 1; } int po(int x, int y) { int r=1; for(int i=0;i