コード例 #1
0
ファイル: DSF-2.CPP プロジェクト: aazhbd/algo_experiments
main()
{
 int i,src,dst,nd[20],ttr=0;;
 clrscr();
 freopen("topo.in","r",stdin);
 scanf("%d%d",&n,&e);
 for(i=0;i<=n;i++)
 {
    d[i]=f[i]=NIL;
    nd[i]=i;
 }
 EdgeInit(n);
 for(i=1;i<=e;i++)
 {
   scanf("%d%d",&src,&dst);
   InsertEdge(src,dst,NIL,i);
 }
 t=0;
 for(i=1;i<=n;i++)
 {
   if(d[i]==0) {ttr+=1;printf("\nTree-%d :: ",ttr);Topo(i);}
 }
/* qsort((void *) (nd+1),n,sizeof(nd[0]),SortFunction);
 for(i=1;i<=n;i++)
 {
   printf("%d\n",*(nd+i));
 }*/
 fclose(stdin);
 printf("\nTotal tree=%d",ttr);
 printf("\nOK");
}
コード例 #2
0
ファイル: BELLFORD.CPP プロジェクト: aazhbd/algo_experiments
void Initialization(int n)
{
	int i;
	EdgeInit(n);
	HeapInit(n);
	for(i=1;i<=n;i++)
	{
		Key[i]=INF;
		Parant[i]=NIL;
	}
}
コード例 #3
0
ファイル: ARTI-1.CPP プロジェクト: AssaultKoder95/codejam
void read(void)
{
 int i,src,dst,nd[20],ttr=0;;
 clrscr();
 freopen("topo.in","r",stdin);
 scanf("%d%d",&n,&e);
 for(i=0;i<=n;i++)
 {
    discover[i]=finish[i]=NIL;
    nd[i]=i;
 }
 EdgeInit(n);
 for(i=1;i<=e;i++)
 {
   scanf("%d%d",&src,&dst);
   InsertEdge(src,dst,NIL,i);
 }
}
コード例 #4
0
ファイル: DSF-5.CPP プロジェクト: AssaultKoder95/codejam
calcir()
{
   int a,b;
   for(a=1;a<=n;a++)
     for(b=1;b<=n;b++)

}
main()
{
 int i,src,dst,nd[20];
 clrscr();
 freopen("dfs.in","r",stdin);
 scanf("%d%d",&n,&e);
 for(i=0;i<=n;i++)
 {
    d[i]=f[i]=NIL;
    nd[i]=i;
 }
 EdgeInit(n);
 for(i=1;i<=2*e;i+=2)
 {
   scanf("%d%d",&src,&dst);
   InsertEdge(src,dst,NIL,i);
   InsertEdge(dst,src,NIL,i+1);
 }
 t=0;
 for(i=1;i<=n;i++)
 {
   if(d[i]==0) Topo(i);calcir();
 }
 qsort((void *) (nd+1),n,sizeof(nd[0]),SortFunction);
 for(i=1;i<=n;i++)
 {
   printf("%d\n",*(nd+i));
 }
 fclose(stdin);
 printf("\nOK");
}