26 for(int i=0;i<n;i++) nodes[i]=G.addNode(); |
24 for(int i=0;i<n;i++) nodes[i]=G.addNode(); |
27 |
25 |
28 //Edge equ[rat]; |
26 //Edge equ[rat]; |
29 std::vector<Edge> equ(rat); |
27 std::vector<Edge> equ(rat); |
30 |
28 |
31 unsigned long long int count; |
29 long long int count; |
32 |
30 |
33 for(count=0;count<rat;count++) { |
31 for(count=0;count<rat;count++) { |
34 equ[count%rat]=G.addEdge(nodes[(count*p)%n],nodes[(count*p/n)%n]); |
32 equ[count%rat]=G.addEdge(nodes[(count*p)%n],nodes[(count*p/n)%n]); |
35 } |
33 } |
36 for(;(count%rat)||((count*p)%n)||((count*p/n)%n);count++) { |
34 for(;(count%rat)||((count*p)%n)||((count*p/n)%n);count++) { |
37 // if(!(count%1000000)) fprintf(stderr,"%d\r",count); |
35 // if(!(count%1000000)) fprintf(stderr,"%d\r",count); |
38 if(count%rat) G.erase(equ[count%rat]); |
36 if(count%rat) G.erase(equ[count%rat]); |
39 equ[count%rat]=G.addEdge(nodes[(count*p)%n],nodes[(count*p/n)%n]); |
37 equ[count%rat]=G.addEdge(nodes[(count*p)%n],nodes[(count*p/n)%n]); |
40 } |
38 } |
41 std::cout << "Added " << count |
39 // std::cout << "Added " << count |
42 << " ( " << n << "^2 * " << rat << " ) edges\n"; |
40 // << " ( " << n << "^2 * " << rat << " ) edges\n"; |
|
41 |
|
42 |
43 // for(int i=0;1;i++) ; |
43 // for(int i=0;1;i++) ; |
44 } |
44 } |
45 |
45 |
46 int main() |
46 int main() |
47 { |
47 { |
48 std::cout << "START: n=" << nextPrim(1000) << " rat=" |
|
49 << nextPrim(300) << " p=" << nextPrim(100) << '\n'; |
|
50 hugo::Timer T; |
48 hugo::Timer T; |
51 makeFullGraph<ListGraph>(nextPrim(1000),nextPrim(300),nextPrim(100)); |
49 makeFullGraph<ListGraph>(nextPrim(1000),nextPrim(300),nextPrim(100)); |
52 std::cout << T << '\n'; |
50 |
53 std::cout << "START: n=" << nextPrim(1000) << " rat=" |
51 PrintTime("BIG",T); |
54 << nextPrim(300) << " p=" << nextPrim(100) << '\n'; |
|
55 T.reset(); |
52 T.reset(); |
56 makeFullGraph<ListGraph>(nextPrim(100),nextPrim(30000),nextPrim(150)); |
53 makeFullGraph<ListGraph>(nextPrim(100),nextPrim(30000),nextPrim(150)); |
57 std::cout << T << '\n'; |
54 |
|
55 PrintTime("SMALL",T); |
58 } |
56 } |