$BBh(B 14 $B2s(B $B:GC;7PO)LdBj!"$^$H$a(B

$BK\F|$NFbMF(B


$B$3$N%I%-%e%a%s%H$O(B http://edu.net.c.dendai.ac.jp/ $B>e$G8x3+$5$l$F$$$^$9!#(B

14-1. $B:GC;7PO)LdBj(B

$BE4F;$dF;O)$N=jMW;~4V$,$o$+$C$F$$$k;~!"$"$kET;T$+$iJL$NET;T$X$N:GC;$N7P(B $BO)$r5a$a$kLdBj$r9M$($^$7$g$&!#(B $B$3$l$O%+!<%J%S%2!<%7%g%s%7%9%F%`$dE4F;$N>h$j49$(0FFb$J$I$K1~MQ$G$-$kLd(B $BBj$G$9!#(B $BNc$($Pu67$r9M$($^$7$g$&!#(B $BEl5~EE5!Bg3X$+$i=BC+$K9T$/$N$KJ#?t$N7PO)$,9M$($i$l$^$9!#(B $B$3$3$G$O

$B@iBeED@~$r;H$&>l9g(B
$B$*Cc$N?e1X!"Bgh$k$3$H$,$G$-$^(B $B$9!#$=$7$F!"D>@\=BC+$K$O9T$+$:!"I=;2F;$GH>B"Lg@~$+6d:B@~$K>h$j49$($k$+!"86=I(B($BL@<#?@5\A0(B) $B$G;3h$j49$($k$+$7$J$1$l$P$J$j$^$;$s!#(B
$BH>B"Lg@~$r;H$&>l9g(B
$BBgh$k$3$H$,$G$-$^$9!#$=$7$F!"I=;2F;$rDL2a$7$F!"D>@\(B $B=BC+$K9T$/$3$H$,$G$-$^$9!#(B
$B;3l9g(B
$B?@ED$K=P$l$PD>@\=BC+$K9T$1$^$9!#0lJ}!"$*Cc$N?e$+$iCf1{@~$GBe!9LZ$d(B $B?7=I$K=P$l$P86=I7PM3$G=BC+$KCe$1$^$9!#(B

$B$3$l$i$N4X78$r9TNs$GI=$9$3$H$r9M$($^$9!#(B $B9T$HNs$r$=$l$>$l$NCOE@$KBP1~$5$;!"[email protected],$K$O$*$*$h$=$N=jMW;~4V$rF~$l$^(B $B$9!#$^$?D>@\9T$1$J$$COE@4X$O!g$GI=$7$^$9!#(B $B4JC1$N$?$a$KD>@\9T$1$F$b!g$GI=$7$F$$$k$H$3$m$b$"$j$^$9!#(B $B0lJ}!">h49$(;~4V$O=EMW$G$9$,!"4JC1$N$?$a$K$3$3$G$OL5;k$7$^$9!#(B

$BEE5!Bg(B $B?7$*Cc$N?e(B $BBg$B?@J]D.(B $B$*Cc$N?e(B $B?@ED(B $BI=;2F;(B $BBe!9LZ(B $B86=I(B $B=BC+(B
$BEE5!Bg(B -513151010$B!g(B$B!g(B$B!g(B$B!g(B
$B?7$*Cc$N?e(B 5-3$B!g(B$B!g(B$B!g(B$B!g(B$B!g(B$B!g(B$B!g(B
$BBg133-3$B!g(B$B!g(B12$B!g(B$B!g(B$B!g(B
$B?@J]D.(B 15$B!g(B3-$B!g(B$B!g(B11$B!g(B$B!g(B$B!g(B
$B$*Cc$N?e(B 10$B!g(B$B!g(B$B!g(B-3$B!g(B13$B!g(B$B!g(B
$B?@ED(B 10$B!g(B$B!g(B$B!g(B3-$B!g(B$B!g(B$B!g(B25
$BI=;2F;(B $B!g(B$B!g(B1211$B!g(B$B!g(B-$B!g(B33
$BBe!9LZ(B $B!g(B$B!g(B$B!g(B$B!g(B13$B!g(B$B!g(B-3$B!g(B
$B86=I(B $B!g(B$B!g(B$B!g(B$B!g(B$B!g(B$B!g(B33-2
$B=BC+(B $B!g(B$B!g(B$B!g(B$B!g(B$B!g(B253$B!g(B2-

$B$3$N$h$&$J>u67$G$I$N7PO)$,:GC;$+$r7W;;$5$;$k%W%m%0%i%`$r:n$j$^$7$g$&!#(B $B$3$3$G>R2p$9$kJ}K!$O(B$B%@%$%/%9%H%iK!(B$B$H8F$P$l$k$b$N$G$9!#(B $B$3$NJ}K!$G$OEE5!Bg$+$i$9$Y$F$N1X$X$N=jMW;~4V$,5a$^$j$^$9!#(B

  1. $B3F1X$^$G$N5wN%$r:GBgCM$K!"3NDj%U%i%0$r%/%j%"$7$F$*$-$^$9!#(B
  2. $BEE5!Bg$O5wN%(B 0 $B$H$7$^$9!#(B
  3. $B0J2<$r$9$Y$F$N1X$,3NDj$9$k$^$G7+$jJV$7$^$9!#(B
    1. $B3NDj$7$F$$$J$$1X$N$&$A!"$b$C$H$bEE5!Bg$H6a$$1X$rA*$S$^$9!#(B
    2. $B$=$N1X$^$G$N5wN%$r3NDj$9$k$?$a3NDj%U%i%0$r%;%C%H$7$^$9!#(B
    3. $B$=$N1X$+$iNY$N1X$^$G$N;~4V$r7W;;$7!"$=$N1X$r7PM3$7$?J}$,EE5!Bg$K6a(B $B$1$l$P5wN%$r7W;;$7$J$*$7$^$9!#(B
  4. $B7k2L$rI=<($7$^$9!#(B

#include <stdio.h>
#define NUM 10
#define HI_VALUE 9999
char *eki[NUM]={"$BEE5!Bg(B","$B?7$*Cc$N?e(B","$BBg

$B$3$3$G!"(B path[] $BJQ?t$K$O!"EE5!Bg$+$iMh$k>l9g$KD>A0$K7PM3$7$?1X$rF~$l$^$9!#(B $B$=$&$9$k$H!":GC;O)$,8+$D$+$C$?>l9g!"L\E*CO$+$i=g$KEE5!Bg$^$G:GC;7PO)$r$?(B $B$I$k$3$H$,$G$-$^$9!#(B

$B1i=,(B14-1

  1. $B>e$N%W%m%0%i%`$rF0$+$7!"EE5!Bg$+$i=BC+$^$G$N:GC;7PO)$r5a$a!"(B $B$I$NO)@~$r$I$N$h$&$K>h$j49$($l$PNI$$$+@bL@$7$J$5$$!#(B
  2. $B>h49;~4V$r9MN8$9$k$K$O$I$&$9$l$PNI$$$+9M$($J$5$$!#(B

14-2. $B$^$H$a(B

$B$3$N9V5A$NpJs=hM}$N4pAC$G$"$k%G!<%?$N?t$(>e$2$d@0Ns$r@)8B(B $B$J$/9T$($k$h$&$K$J$k$3$H$H!"HFMQ$N%W%m%0%i%_%s%0%F%/%K%C%/$H$7$F$N>uBV(B $BA+0\?^$N

$B@~7A%j%9%H(B

$BBgNL$N%G!<%?$r07$&$K$O!"$"$i$+$8$aMFNL$r7h$a$J$1$l$P$$$1$J$$G[Ns$O;H$((B $B$^$;$s!#$=$3$G;HMQ$7$?$N$,@~7A%j%9%H$H$$$&%G!<%?9=B$$G$9!#(B $B$3$l$O%a%b%j$r$"$i$+$8$a3NJ]$9$k$N$G$O$J$/!"I,MW$K1~$8$FI,MW$JNL$@$1%a(B $B%b%j$r

C $B8@8l$Ge$K@8@.$7$F$O$R$H$D$R$H$D$D$J$2$F;H$$$^$7(B $B$?!#(B


struct node {
   int data;
   struct node *next;
};

$B@~7A%j%9%H$OBgNL$N%G!<%?$r$C$F!"8!:w$J$I$O%G!<%?NL$KHfNc$7$?;~4V$+$+$j$^$9!#(B $B0lJ}$G!"%G!<%?$NDI2C$d:o=|$OMF0W$K$G$-$^$9!#(B

$B$J$*!"(BC++ $B$G$O(B STL(Standard Template Library)$B$K(B deque $B$d(B list $B$H$$$&%F(B $B%s%W%l!<%H$,B8:_$7!"$^$?!"(B Java $B$G$O(B java.util.ArrayList $B$,B8:_$7$^$9!#(B $B$I$A$i$b(B C $B8@8l$N$h$&$K%]%$%s%?$NA`:n$d%a%b%j$NA`:nL5$7$K!"D:E@$rIU$1(B $B2C$($?$j:o=|$7$?$j$G$-$^$9!#(B

$B=g=xLZ(B

$B?t$N7h$^$C$F$$$k$b$N$r=g=x$K=>$C$F@0Ns$5$;$k$K$O!"G[Ns$N%=!<%H$r9T$$$^(B $B$9!#(B $B$7$+$7!"?t$N7h$^$C$F$J$$$b$N$r@0Ns$5$;$k$K$O!"=g=xLZ$r;H$$$^$9!#(B $B=g=xLZ$O!"FsJ,LZ$K$*$$$F!"D:E@$N%G!<%?$,:8$N;R$h$j$bBg$-$/!"1&$N;R$h$j(B $B>.$5$$$b$N$r8@$$$^$9!#(B $B$3$N$h$&$JLZ$KBP$7$F!"%G!<%?$r3JG<$9$k>l9g!":,$ND:E@$+$i=g$K%G!<%?$rHf(B $B3S$7$F$$$/$H%G!<%?$r3JG<$9$Y$->l=j$rA\$7=P$9$3$H$,$G$-$^$9!#(B $B0lJ}!"LZ$N:8$+$i=g$K%G!<%?$ruBV$G%G!<(B $B%?$r


struct node {
   int data;
   struct node *left,*right;
};

$B$J$*!"CM$N@0Ns$O>pJs=hM}$N4pAC$G$"$j!"B?$/$N%W%m%0%i%_%s%08@8l$G4JC1$K(B $BMxMQ$G$-$k$h$&$K$J$C$F$$$^$9(B($BC"$7!"FbIt$G$O=g=xLZ$rMxMQ$7$F$$$k(B)$B!#(B C++ $B$G$O(B STL $B$K$"$k(B map $B$d(B multimap $B$GMxMQ(B $B$G$-$^$9!#(B $B$^$?!"(BJava $B8@8l$G$O(B java.util.TreeMap $B$r;H$$$^$9!#(B $B$7$+$7!"BgNL$N%G!<%?$NF~=PNO$,H/@8$9$k>l9g!"8zN(NI$/%G!<%?$r$d$j$H$j$9(B $B$k$?$a$K!"30It%G!<%?%Y!<%9$NMxMQ$r9M$($?J}$,NI$$>l9g$,$"$j$^$9!#(B

$B:F5"(B

$B%W%m%0%i%`3+H/$K$*$$$F!"M?$($i$l$?LdBj$rJ,2r$7!"85$NLdBj$HF1$89=B$$rH/(B $B8+$G$-$l$P!":F5"$H$$$&

$BNc$($P!"M?$($i$l$?%G!<%?$r@0Ns$9$k>l9g!"@0Ns$5$l$?Ns$O$I$NItJ,Ns$r8+$F(B $B$b@0Ns$5$l$F$$$^$9!#$h$C$F%G!<%?Ns$rH>J,$K$9$l$P!"Bg$-$$Ns$H>.$5$$Ns$K(B $BJ,3d$G$-$^$9!#(B $B=>$C$F!"%G!<%?Ns$rBg$-$$$b$N$H>.$5$$$b$N$H$KH>J,$KJ,3d$9$k$h$&$J4X?t$r(B $B@_7W$7!"H>J,$K$J$C$?Ns$=$l$>$l$KBP$7$F!"F1MM$J=hM}$r7+$jJV$9$h$&$K$9$k(B $B$H:G=*E*$K%G!<%?$r@0Ns$G$-$^$9(B(Quick Sort)$B!#(B

$B$3$N$h$&$K!"%G!<%?$NNs$K2?$i$+$N5,B'$,$"$j%G!<%?$rJ,3d$7$F$b@.$jN)$D>l(B $B9g!"4X?t$NCf$G%G!<%?$rJ,3d$7$J$,$iF1$84X?t$r8F$S=P$9$h$&$K$9$k$H!"%7%s(B $B%W%k$J%W%m%0%i%`$GJ#;($J%G!<%?$r

$B>uBVA+0\?^(B

$B%W%m%0%i%`3+H/$K$*$$$F!">uBV$N2r@O$O=EMW$G$9!#(B $B>uBVA+0\?^$r=q$/$3$H$G!">uBV$N0\$jJQ$o$j$K1~$8$?%W%m%0%i%`$N:n@.$,MF0W(B $B$K$J$j$^$9!#(B

$B0lHL$N%U%m!<%A%c!<%H$H;w$F$$$^$9$,FbMF$OBg$-$/0[$J$j$^$9!#(B $B%U%m!<%A%c!<%H$G$O0l$D$N?^7A$,%W%m%0%i%`0l9T$rI=$9$3$H$,$"$j!"(B $B$^$?!"F~=PNO$N;EMM$d!"JQ?t$NCM!"4X?t8F$S=P$7$J$I!"%W%m%0%i%`$r:n@.$9$k(B $B>e$GI,MW$J>pJs$N$[$H$s$IA4$F(B($B$5$9$,$K%U%!%$%k%l%$%"%&%H$^$G$O5-F~$G$-(B $B$^$;$s$,(B)$B$r5M$a9~$a$^$9!#(B $B$3$l$O$"$k0UL#0l$D$N%W%m%0%i%`8@8l$H$J$C$F$$$F!"JL$N%W%m%0%i%`8@8l$G5-(B $B=R$9$k$?$a$N6&DL8@8l$H$7$F$NLr3d$rC4$&$3$H$K$J$j$^$9!#(B $BC"$7!"%U%m!<%A%c!<%H$O%W%m%0%i%_%s%0%9%?%$%k$r6/MW$9$k$3$H$,$G$-$J$$$N(B $B$G!"FI$_0W$/J]

$B0lJ}!">uBVA+0\?^$K5-F~$G$-$k$N$OF~NO$H>uBV$H>uBV$N0\$jJQ$o$j!"$=$l$K2C(B $B$($F=PNO$d3+;O!"=*N;>uBV$@$1$G$9!#(B $B$3$N$h$&$J8BDj>r7o$N$b$H$G?^$r=q$/$3$H$K$h$j!"0l$D$N>uBV$OI,$:$7$b%W%m(B $B%0%i%`0l9T$KBP1~$9$k$o$1$G$O$J$/!"%W%m%0%i%`Fb$N$^$H$^$C$?0l%V%m%C%/$r(B $B;X$9$h$&$K$J$j$^$9!#(B

$B$^$H$a$N1i=,(B

  1. $BF~NO$7$?%U%!%$%k$NJ8;z$rA4$F5U=g$K=PNO$9$k%W%m%0%i%`$r:n$j$J$5$$!#(B
  2. $B%U%#%\%J%C%A?tNs(B an $B$O0=1, a1=1, an=an-1+an-2 $B!#(B $B20 $B$r5a$a$J$5$$!#(B
  3. $BF~NO$5$l$?%U%!%$%k$NCf$G0lHVD9$$C18l$r=PNO$9$k%W%m%0%i%`$r:n$j$J(B $B$5$$(B($B3FC18l$O6uGr!"$^$?$O2~9T$G6h@Z$i$l$F$$$k$H$7$^$9(B)$B!#(B

$B:dK\D>;V(B <[email protected]>
$BEl5~EE5!Bg3X9)3XIt>pJsDL?.9)3X2J(B