본문 바로가기

IT

winner tree

//

#include<stdio.h>

typedef struct{

int run;

int value;

}node;



void winnertree(node run[8][20]);


int main(void)

{

node run[8][20];

int i,j,k=0,count=0;

i=0; j=0;

for(i=0;i<8;i++)

{

for(j=0;j<20;j++)

run[i][j].value=1000;

}


j=0;

do{

for(i=0;i<8;i++,count++)

{

if(count==101)

break;

run[i][j].run=i;

run[i][j].value=count;

}

j++;

for(i=7;i>=0;i--,count++)

{

if(count==101)

break;

run[i][j].run=i;

run[i][j].value=count;

}

j++;

}while(count!=101);

for(i=0;i<8;i++)

{

printf("run[%d]",i);

for(j=0;run[i][j].value!=1000;j++)

{

printf("%d ",run[i][j].value);

}

printf("\n");

}


winnertree(run);


return 0;

}


void winnertree(node run[8][20])

{

int result[110];

node arra[16];

int runcount[8];

int i,j,count=0;


for(i=0;i<110;i++)

result[i]=-1;


for(i=8;i<16;i++)

{

arra[i].value=run[i-8][0].value;

arra[i].run=run[i-8][0].run;


runcount[i-8]=1;

}


for(;;)

{

for(i=8;i<=14;i=i+2)

{

if(arra[i].value<arra[i+1].value)

{

arra[i/2].value=arra[i].value;

arra[i/2].run=arra[i].run;

}

else{ arra[i/2].value=arra[i+1].value;

 arra[i/2].run=arra[i+1].run;

}

}


for(i=4;i<=6;i=i+2)

{

if(arra[i].value<arra[i+1].value)

{

arra[i/2].value=arra[i].value;

arra[i/2].run=arra[i].run;

}

else{ arra[i/2].value=arra[i+1].value;

 arra[i/2].run=arra[i+1].run;

}

}


i=2;

if(arra[i].value<arra[i+1].value)

{

arra[i/2].value=arra[i].value;

arra[i/2].run=arra[i].run;

}

else{ arra[i/2].value=arra[i+1].value;

arra[i/2].run=arra[i+1].run;

}


result[count]=arra[1].value;


j=arra[1].run;

arra[j+8].value=run[j][runcount[j]].value;

runcount[j]++;

if(arra[8].value==1000&&arra[9].value==1000&&arra[10].value==1000&&arra[11].value==1000

&&arra[12].value==1000&&arra[13].value==1000&&arra[14].value==1000&&arra[15].value==1000)

break;

count++;

}


printf("result : ");

for(i=0;result[i]!=-1;i++)

printf("%d ",result[i]);


printf("\n");

}

'IT' 카테고리의 다른 글

파일 복사하기  (0) 2014.05.14
heap?  (0) 2014.05.14
dfs  (0) 2014.05.14
그래프 전은 자료구조 아니죠 ㅎㅎ  (0) 2014.05.14
자료구조는 그래프 부터  (0) 2014.05.14