[»çÀ̹ö ¼ö¾÷43]
<»ç´Ù¸® °ÔÀÓ>


<¹®Á¦>ÀÔ·ÂÆÄÀÏ(input.txt)¿¡¼­ »ç´Ù¸® °³¼ö(n)°ú (n-1)°³ÀÇ °¡·Î¼±À» Àоî¿Í¼­
Ãâ·ÂÆÄÀϰú °°ÀÌ ¼ýÀڻ簢ÇüÀ» ¸¸µé¾î Ãâ·ÂÆÄÀÏ(output.txt)¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
(Á¶°Ç) 2Â÷¿ø ¹è¿­·Î ó¸®ÇϽñ⠹ٶø´Ï´Ù
(Á¶°Ç) nÀº 20ÀÌÇÏÀÇ ÀÚ¿¬¼öÀÔ´Ï´Ù.


n =
<-Ç¥½ÃÇÒ »ç´Ù¸® °³¼ö(n)À» ÀÔ·ÂÇϽÿÀ!
input.txt

<- »ç´Ù¸® À§¿¡¼­ ¶³¾îÁø À§Ä¡¿¡ °¡·Î¼±ÀÌ ÀÖ½À´Ï´Ù.

output.txt



(º¯¼ö¼±¾ð)
(1´Ü°è)
'input()'ÇÔ¼ö·Î ±¸ºÐ
(2´Ü°è)
'output()'ÇÔ¼ö·Î ±¸ºÐ
main()ÇÔ¼ö
#include<stdio.h>

int n;
char d[100][100]={0,};
int input()
{
	FILE *ifp;
	int i, j, a;

	ifp = fopen("input.txt","r");
	fscanf(ifp,"%d",&n);
	for(i=1;i<=n-1;i++){
		fscanf(ifp,"%d",&a);
		d[a][i]='1';
		d[a][i+1]='1';
	}
	for(i=1;i<=n;i++) d[n+1][i] = 64+i;
	fclose(ifp);
	return -1;
}

int output()
{
	FILE *ofp;
	int i, x, y;

	ofp=fopen("output.txt","w");
	for(i=1; i<=n; i++){
		x=1; y=i;
		for(;;){
		  if(d[x][y] == '1'){
		    if(d[x][y-1] == '1') y = y-1;
	            else if(d[x][y+1]=='1') y = y+1;
		  }
		  x = x+1;
		  if(d[x][y]>=65){
		    fprintf(ofp,"%d %c\n", i, d[x][y]);
	            break;
		  }
		}
	}
	fclose(ofp);

	return -1;
}

int main()
{
	input();
	output();

	return -1;
}

º¯¼ö n°ú d[]¹è¿­Àº Àü¿ªº¯¼ö·Î ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù.
ÀÔ·ÂÆÄÀÏ('input.txt')¿¡¼­ »ç´Ù¸® ¼ö(n)¿Í °¡·ÎÁÙÀ» ÀԷ¹޴´Ù.
d[]¹è¿­ÀÇ ÃʱâÈ­¿Í µµÂøÁ¡¿¡ ÀÖ´Â ¹®ÀÚµéÀ» ¼±¾ðÇÑ´Ù.
»ç´Ù¸® °ÔÀÓÀ» 2Â÷¿ø ¹è¿­À» »ç¿ëÇÏ¿© Ãâ·ÂÆÄÀÏ('output.txt')¿¡ Ãâ·ÂÇÑ´Ù.
main()ÇÔ¼ö¿¡¼­ ´Ù¸¥ÇÔ¼ö¸¦ call Çϰí ÀÖ½À´Ï´Ù

[php ¼Ò½º]
<?php
	printf("<br>");
	srand(time());
	for($i=0; $i<=100; $i++){
		for($j=0;$j<=100;$j++){
			$d[$i][$j]=0;
		}
	}
	for($i=1; $i<$n; $i++){
		$pp = (rand()%($n-1) + 1);
		$ff=0;
		for($j=1; $j<$i; $j++){
			if($pp == $p[$j]){
				$ff=1;
				break;
			}
		}
		if($ff == 0){
			$p[$i] = $pp;
			printf("%d ",$p[$i]);
			$d[$pp][$i] = 1;
			$d[$pp][$i+1] = 1;
		}
		else $i=$i-1;
	}
	for($i=1; $i<=$n; $i++) $d[$n+1][$i] = 64+$i;
	printf("<- »ç´Ù¸® À§¿¡¼­ ¶³¾îÁø À§Ä¡¿¡ °¡·Î¼±ÀÌ ÀÖ½À´Ï´Ù.<br><br>");
	printf("output.txt<br>");

	for($i=1; $i<=$n; $i++){
		$x=1; $y=$i;
		for(;;){
			if($d[$x][$y] == 1){
				if($d[$x][$y-1] == 1) $y = $y-1;
				else if($d[$x][$y+1]==1) $y = $y+1;
			}
			$x = $x+1;
			if($d[$x][$y] >= 65){
				printf("%d %c<br>", $i, $d[$x][$y]);
				break;
			}
		}
	}
	
?>


[Æò°¡ ¹®Á¦]
Ä£±¸µé°ú »ç´Ù¸® °ÔÀÓ ÇÁ·Î±×·¥À¸·Î Àç¹ÌÀÖ°Ô ³î¾Æº¸¼¼¿ä!