#include void create_subgraph(int k, FILE* file) { fprintf(file,"e %d %d\n",k+2,k+1); fprintf(file,"e %d %d\n",k+3,k+1); fprintf(file,"e %d %d\n",k+4,k+1); fprintf(file,"e %d %d\n",k+6,k+5); fprintf(file,"e %d %d\n",k+7,k+5); fprintf(file,"e %d %d\n",k+7,k+6); } void create_intersubgraph_connection(int k, int l, FILE* file) { int i,j; for(i=k+1;i<=k+7;i++) for(j=l+1;j<=l+7;j++) fprintf(file,"e %d %d\n",i,j); } void create_graph(int level, const char* filename) { FILE* file = fopen(filename,"wb"); int i,j,k,l,m,n; fprintf(file,"c An anti SM%d heuristic instance\n",level); n = 7*(level+1); m = 6*(level+1)+49*level*(level+1)/2; fprintf(file,"p edge %d %d\n",n,m); for(i=0;i<=level;i++) { k = 7*i; for(j=0;j=3) { sscanf(argv[1], "%d", &level); create_graph(level,argv[2]); } else puts ( "Syntax: anti_sm \n" "level: the hiding level (x>=0); n = 7*(x+1), omega = 3*(x+1)\n" "filename: the filename to output the instance (in the DIMACS text format)\n" ); return 0; }