13 main(
int argc,
char* argv[])
16 printf(
"Usage: gen2 <nodenum> <density> <seed>\n");
20 const int num = atoi(argv[1]);
21 const double dens = atof(argv[2]);
22 const int seed = atoi(argv[3]);
26 const int maxedgenum = (num*(num-1)) / 2;
27 int * pick =
new int[maxedgenum];
29 for (
int i = 1; i < num; ++i) {
30 for (
int j = i + 1;
j <= num; ++
j) {
31 pick[k++] = (i << 16) +
j;
35 random_shuffle(pick, pick + maxedgenum);
36 const int edgenum =
static_cast<int>(maxedgenum * dens);
38 printf(
"%i %i\n", num, edgenum);
40 for (k = 0; k < edgenum; ++
k) {
41 const int i = pick[
k] >> 16;
42 const int j = pick[
k] & 0xffff;
44 printf(
"%3i %3i -1\n", i-1, j-1);
46 printf(
"%3i %3i 1\n", i-1, j-1);
int main(int argc, char *argv[])