Example #1
0
void dfs_d(int x,int y){
    if(field[x][y] != 'X' || visit[x][y])return;
    field[x][y] = '*';
    visit[x][y] = 1;
    dfs_d(x+1,y);
    dfs_d(x-1,y);
    dfs_d(x,y+1);
    dfs_d(x,y-1);
}
Example #2
0
void delX(){
    int i;
    int temp = 0;
    for(i = 0; i < Xcount; i++){
        if(field[(Xdata+i)->x][(Xdata+i)->y] == 'X'){
            dfs_d( (Xdata+i)->x, (Xdata+i)->y );
            field[(Xdata+i)->x][(Xdata+i)->y] = 'X';
            Xdata[temp].x = (Xdata+i) -> x;
            Xdata[temp].y = (Xdata+i) -> y;
            temp++;
        }
    }
    Xcount = temp;
} 
int main() {
  
  igraph_t graph;
  igraph_vector_t order, order_out, father, dist;
  long int i,n,c;
  scanf("%li %li",&n,&c);
  fp=fopen("qwe.txt","w+");
  fclose(fp);
  igraph_tree(&graph,(igraph_integer_t) n,(igraph_integer_t) 3, IGRAPH_TREE_OUT);
  fp=fopen("qwe.txt","a+");
  igraph_vector_init(&order, 0);
  igraph_vector_init(&order_out, 0);
  igraph_vector_init(&father, 0);
  igraph_vector_init(&dist, 0);

 
  /* Test the callback */

  for(i=0;i<10;i++)
  {	printf("Iteration starts here\n");
  	dfs_d(&graph, /*root=*/ 0, /*neimode=*/ IGRAPH_ALL, 
	     /*unreachable=*/ 1,
	     &order, 0, 0, &dist, &dfs_callback, &dfs_callback, 0);
  	fprintf(fp,"\n");
	igraph_vector_print(&order);
	igraph_vector_print(&dist);
  }
  
  //printf("\n");
  igraph_destroy(&graph);
   igraph_vector_destroy(&order);
  igraph_vector_destroy(&order_out);
  igraph_vector_destroy(&father);
  igraph_vector_destroy(&dist);
  fclose(fp);
  
  return 0;
}