Programming Puzzle 8-8-08 (Solution)

Steven Schveighoffer schveiguy at yahoo.com
Fri Aug 8 12:58:09 PDT 2008


Depth-first brute force with the standard sudoku constraints

Code:

import tango.io.Stdout;

char[][] boards = [...];


bool solve(int[][] brd, int idx)
{
    if(idx == 9 * 9)
        return true;
    int x = idx % 9;
    int y = idx / 9;
    if(brd[x][y])
        return solve(brd, idx + 1);
    bool[10] bad;
    for(int i = 0; i < 9; i++)
    {
        bad[brd[x][i]] = true;
        bad[brd[i][y]] = true;
    }

    int boxx = (x / 3) * 3;
    int boxy = (y / 3) * 3;
    for(int i = 0; i < 3; i++)
        for(int j = 0; j < 3; j++)
            bad[brd[boxx + i][boxy + j]] = true;
    for(int i = 1; i < 10; i++)
        if(!bad[i])
        {
            brd[x][y] = i;
            if(solve(brd, idx + 1))
                return true;
        }
    brd[x][y] = 0;
    return false;
}

void printboard(int[][] brd)
{
    for(int i = 0; i < 9; i++)
    {
        if(i % 3 == 0)
            Stdout.newline;
        for(int j = 0; j < 9; j++)
        {
            if(j % 3 == 0)
                Stdout(" ");
            Stdout(brd[i][j]);
        }
        Stdout.newline;
    }
}

void main()
{
    for(int i = 0; i < boards.length; i++)
    {
        int[][] brd = new int[][](9,9);
        for(int j = 0; j < 9; j++)
            for(int k = 0; k < 9; k++)
                brd[j][k] = boards[i][j * 9 + k] - '0';
        Stdout("=======================").newline;
        printboard(brd);
        solve(brd, 0);
        Stdout.newline;
        printboard(brd);
    }
}

Output is attached (for comparison)

run time:

real    0m1.797s
user    0m1.794s
sys     0m0.003s

-Steve



begin 666 sudoku.txt
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," P-S4 at -# P#0H@,# P
M(# P," P,#@-"B P.# @,3DP(# P, T*#0H@,S P(# P,2 P-C -"B P,# @
M,# P(# S- T*(# P," P-C@@,3<P#0H-"B R,#0@,# P(#8P,PT*(#DP," P
M,# @,#(P#0H at -3,P(#(P," P,# -"@T*#0H at -CDS(#@W-2 T,3(-"B Q-#4@
M-C,R(#<Y. T*(#<X,B Q.30@,S4V#0H-"B S-3<@-#(Q(#@V.0T*(#@Q-B Y
M-3<@,C,T#0H at -#(Y(#,V." Q-S4-"@T*(#(W-" U,3D at -C@S#0H at .38X(#<T
M,R U,C$-"B U,S$@,C at V(#DT-PT*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-
M"@T*(#,P," P,# @,# P#0H@,#4P(#<P,R P,#@-"B P,# @,#(X(# W, T*
M#0H at -S P(# P," P-#,-"B P,# @,# P(# P, T*(# P,R Y,#0@,3 U#0H-
M"B T,# @,S P(#@P, T*(#$P," P-# @,# P#0H at .38X(# P," R,# -"@T*
M#0H@,S at W(#0Q.2 U,C8-"B R-3D at -S8S(#0Q. T*(#8T,2 U,C@@,S<Y#0H-
M"B W,38@,C at U(#DT,PT*(#4Y-" V,S$@-S at R#0H at .#(S(#DW-" Q-C4-"@T*
M(#0W,B S.38 at .#4Q#0H@,3,U(#@T,B V.3<-"B Y-C@@,34W(#(S- T*/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#,P,B V,#D@,# U#0H at -3 P(#<S
M," P,# -"B P,# @,# P(#DP, T*#0H@,# P(#DT," P,# -"B P,# @,# P
M(#$P.0T*(# P," P-3<@,#8P#0H-"B P,#@@-3 P(# P- at T*(# P," P,# @
M,# S#0H@,#$Y(# X,B P-# -"@T*#0H@,S at R(#8Q.2 T-S4-"B U.30 at -S,X
M(#8R,0T*(#$W-B T,C4 at .3,X#0H-"B X-C, at .30Q(#<U, at T*(#0U-R R-C,@
M,3 at Y#0H at .3(Q(#@U-R S-C0-"@T*(#<S." U.30@,C$V#0H@,C0U(#$W-B X
M.3,-"B V,3D@,S at R(#4T-PT*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*
M(#4S," P,# @,# X#0H@,# W(# P," P,S -"B R,# @,# V(#DP,0T*#0H@
M,# P(#4P," R,# -"B P.3 @,S<P(# P- T*(# P," Y.#$@,# P#0H-"B S
M,# @,#0P(#4V, T*(# P," P.3 @,# P#0H@,# P(# P-R P.# -"@T*#0H@
M-3,V(#0Q.2 W,C at -"B Y,3<@.#(U(#0S- at T*(#(T." W,S8 at .34Q#0H-"B W
M.#$@-38T(#(Y,PT*(#8Y-2 S-S(@.#$T#0H at -#(S(#DX,2 V-S4-"@T*(#,W
M.2 Q-#@@-38R#0H at .#4R(#8Y,R Q-#<-"B Q-C0@,C4W(#,X.0T*/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P." S,3 @.3 P#0H@,#DU(# P," Q
M-C -"B P,# @,# P(# P-0T*#0H@,# P(#0P," P,# -"B P,# @,#@P(# T
M.0T*(# P-B P-S(@,# P#0H-"B P,# @,# Q(# S, T*(# P," R-# @-C W
M#0H@,# Q(# P." R,# -"@T*#0H at -#8X(#,Q-2 Y-S(-"B W.34 at .#(T(#$V
M,PT*(#$S,B V.3<@-#@U#0H-"B X,3D at -#4S(#<R- at T*(#(U-R Q.#8@,S0Y
M#0H@,S0V(#DW,B X-3$-"@T*(#DR-" W-C$@-3,X#0H at -3@S(#(T.2 V,3<-
M"B V-S$@-3,X(#(Y- T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P
M," T,# @.3<P#0H@,# P(# U,2 V,# -"B P-#(@,# P(# Q, T*#0H@,#,P
M(# P," P,# -"B P-S @-3 X(# V- T*(# P," P-S @,# P#0H-"B W,# @
M,#,P(# P, T*(#,P," P.3 @,# P#0H@,# U(#@V-" P,#D-"@T*#0H at -3$S
M(#0R-B Y-S at -"B Y.#<@,S4Q(#8T, at T*(#8T,B Y.#<@-3$S#0H-"B X,S$@
M-C0Y(#(U-PT*(#(W.2 U,3@@,S8T#0H at -#4V(#(W,R X.3$-"@T*(#<Y." Q
M,S4 at -#(V#0H@,S8T(#<Y,B Q.#4-"B Q,C4 at .#8T(#<S.0T*/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T-"@T*(# V," U,# @,# P#0H at -S(P(# P," P,# -
M"B P,# @,# P(#,R, T*#0H@,# P(# U," V,S<-"B P,# @,# T(#4P, T*
M(# P," R,S @,3 at P#0H-"B Q.# @,# Y(# P, T*(#8P,R P-S @,# P#0H@
M,# T(# P-B P,#,-"@T*#0H@,S8Y(#4T,B X-S$-"B W,C$@.#DS(#0V-0T*
M(#4T." W-C$@,S(Y#0H-"B T,3(@.34X(#8S-PT*(#@S-R V,30 at -3DR#0H@
M.34V(#(S-R Q.#0-"@T*(#$X-2 S,CD at -S0V#0H at -CDS(#0W-2 R,3 at -"B R
M-S0@,3 at V(#DU,PT*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#(W-" P
M,# @,#,P#0H@,# P(# P," P,#4-"B P,# @-C P(# T,0T*#0H at .3 P(#,P
M-B P,# -"B Q,# @,C at P(# P, T*(# P-B P-30@,# P#0H-"B P,# @,# P
M(# P, at T*(# P-R P,# @-3 at S#0H@,# P(# Y-2 W,# -"@T*#0H@,C<T(#4Q
M." V,SD-"B S-C$@.30R(#@W-0T*(#@U.2 V,S<@,C0Q#0H-"B Y.#(@,S<V
M(#$U- T*(#$T-2 R.#D@,S8W#0H at -S,V(#$U-" Y,C at -"@T*(#4Q." W-C,@
M-#DR#0H at -CDW(#0R,2 U.#,-"B T,C, at .#DU(#<Q- at T*/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T-"@T*(#4W," P,# @,#8Y#0H@,# P(# P,R X,# -"B P
M.3 @,# P(# P, T*#0H at .# Q(#8P," P,# -"B P,# @,#,P(#8P, T*(#<P
M,B P,# @,#4P#0H-"B P,# @,#8P(#4P,0T*(# P," W,#(@,# P#0H@,# V
M(# Y,2 P,S(-"@T*#0H at -3<S(#0R." Q-CD-"B V,C0 at .3$S(#@W-0T*(#$Y
M." U-S8@,C0S#0H-"B X,S$@-C0U(#DR-PT*(#DT-2 R,S<@-C$X#0H at -S8R
M(#$X.2 S-30-"@T*(#(X-R S-C0 at -3DQ#0H@,S$Y(#<U,B T.#8-"B T-38@
M.#DQ(#<S, at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P-2 R,# @
M,# P#0H at -# P(#,P," W,# -"B V,# @,# P(# Q, T*#0H at .# P(# R," Q
M,# -"B P-# @.# P(#4P, T*(# P," P.34@,# P#0H-"B P.#,@,#0P(# W
M, T*(# Y," P,#8@,#@P#0H at -3 P(#DP,B P,# -"@T*#0H at -S,U(#(Q." Y
M-C0-"B T,3@@,S8Y(#<U, at T*(#8R.2 T-3<@,S$X#0H-"B X-3<@-C(T(#$Y
M,PT*(#DT,2 X-S, at -3(V#0H@,S8R(#$Y-2 X-#<-"@T*(#(X,R U-#$@-C<Y
M#0H@,3DT(#<S-B R.#4-"B U-S8 at .3@R(#0S,0T*/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T-"@T*(#0P," U,# @-C P#0H@,C P(# P," P,# -"B P,# @
M,#(P(# P, T*#0H@,# R(# P-" S.# -"B P,# @,#,P(# P, T*(#<Y," P
M,# @-3 T#0H-"B P,# @,#8P(#0Y, T*(# W," P.3, at .#$P#0H at -3 P(#$P
M," P,S -"@T*#0H at -#,X(#4Q.2 V-S(-"B R,38 at -#<X(#DU,PT*(#DU-R S
M,C8@,30X#0H-"B Q-C(@-S4T(#,X.0T*(#@T-2 Y,S(@-S8Q#0H at -SDS(#8X
M,2 U,C0-"@T*(#,R,2 X-C4 at -#DW#0H at -C<T(#(Y,R X,34-"B U.#D@,30W
M(#(S- at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," W.3 @,# P
M#0H@,# Q(# P," P,# -"B P-# @,#4P(# X, T*#0H@,# P(#@P," P,C<-
M"B P,#D@,# S(# P, T*(# P," P,C @-# S#0H-"B P,# @,#0P(#8P, T*
M(# P-" Y,#<@,3 P#0H at -C P(#4P,2 W.3 -"@T*#0H@,S8U(#<Y." R-#$-
M"B Y.#$@,C,T(#4W- at T*(#<T,B Q-38@,S at Y#0H-"B T,S8 at .#$U(#DR-PT*
M(#(Q.2 T-S, at .#8U#0H at -3<X(#8R.2 T,3,-"@T*(#$Y-R S-#(@-C4X#0H@
M.#4T(#DV-R Q,S(-"B V,C, at -3@Q(#<Y- T*/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T-"@T*(# V," P,3 @,# P#0H at -# S(#<P," P,#@-"B U,C @-C0P
M(# P, T*#0H@,# R(# P," P,# -"B P,#D at -#,X(# P-0T*(# P," P,#8@
M,S P#0H-"B P,#0@,S Q(#(P, T*(# P," R,# @,# P#0H@,# U(# W," P
M,# -"@T*#0H at .38W(#@Q,R U-#(-"B T,3, at -S4R(#DV. T*(#4R." V-#D@
M-S,Q#0H-"B S-3(@,3DW(#8X- T*(#8W.2 T,S@@,3(U#0H at .#0Q(#4R-B S
M.3<-"@T*(#<X-" S-C$@,C4Y#0H@,3DV(#(X-2 T-S,-"B R,S4 at .3<T(#@Q
M- at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#$S," T,# @,# P#0H@
M-S U(#,P," P,# -"B V,# @,#(P(# P, T*#0H@,# P(# P," P,C<-"B P
M,# @.3 P(#0P, T*(# P," P,# @,#@U#0H-"B X-C @-3 P(# P,PT*(# U
M.2 Q,#,@,# P#0H@,# R(# P-" P-C -"@T*#0H@,3,X(#0W.2 V-3(-"B W
M,C4@,S$V(#@Y- T*(#8Y-" X,C4 at -S,Q#0H-"B U-#$@-C,X(#DR-PT*(#(X
M,R Y-3<@-#$V#0H at .3<V(#(T,2 S.#4-"@T*(#@V-R U.3(@,30S#0H at -#4Y
M(#$V,R R-S at -"B S,3(@-S at T(#4V.0T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T-"@T*(# R," P,#$@,#0X#0H at -# P(# P," P,S<-"B P-S$@,# V(# R
M, T*#0H at -3 P(# P," P,# -"B P,# @,#$P(#@P, at T*(# P," X,#D at -3 P
M#0H-"B P.3 @,#,P(#0P, T*(# P," P-# @,# P#0H@,# P(#DP,B P-C -
M"@T*#0H at .3(U(#,W,2 V-#@-"B T-C@@,CDU(#$S-PT*(#,W,2 T.#8 at .3(U
M#0H-"B U.#D at -S(T(#,Q- at T*(#<T-B U,3, at .#DR#0H@,3,R(#@V.2 U-S0-
M"@T*(#(Y-R V,S@@-#4Q#0H at -C4S(#$T-R R.#D-"B X,30 at .34R(#<V,PT*
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," P,# @,#(P#0H@,# V
M(#0Q," P,S4-"B Q.# @,#(P(# P, T*#0H@,# X(#$S," T,#8-"B P,C @
M,# P(#,P, T*(#8P," P,# @,# P#0H-"B W.3 @,# U(# P, T*(# P-" P
M,# @,# X#0H@,# Q(#,P," P,#(-"@T*#0H@,S0Y(#8U." Q,C<-"B R-S8@
M-#$Y(#@S-0T*(#$X-2 W,C, at .38T#0H-"B Y-3@@,3,R(#0W- at T*(#0R-R Y
M.#8@,S4Q#0H at -C$S(#4W-" R.#D-"@T*(#<Y,B X-#4 at -C$S#0H at -3,T(#(V
M,2 W.3 at -"B X-C$@,SDW(#4T, at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-
M"@T*(# T," P,# @,C P#0H@,# P(# P-R P.3 -"B P,# @,# V(# Q, T*
M#0H at .#<P(# R," P,#0-"B Y,#$@,# P(# R. T*(# V," P,S @,3 P#0H-
M"B P,#8 at .# P(# T,0T*(# P," P-S @,#4P#0H@,# U(#DP," P,# -"@T*
M#0H at -C0Y(#,Q-2 R.#<-"B Q,S(@-#@W(#8Y-0T*(#4X-R R.38 at -#$S#0H-
M"B X-S,@,3(Y(#4V- T*(#DU,2 W-C0@,S(X#0H@,C8T(#4S." Q-SD-"@T*
M(#,Y-B X-3(@-S0Q#0H at -#$X(#8W,R Y-3(-"B W,C4 at .30Q(#@S- at T*/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," P,S @,# Y#0H@,#0X(#DP
M," P,# -"B R,# @-#<P(#$P, T*#0H@,3(U(# P," P.# -"B P,# @,#@P
M(#<Q, T*(# P," U,# @,# P#0H-"B P,# @,#DP(# U- T*(# V,2 P,# @
M,# S#0H@,# P(# U," P-S -"@T*#0H at -S$V(#@S-2 T,CD-"B S-#@@.3$R
M(#4V-PT*(#(U.2 T-S8@,3,X#0H-"B Q,C4@,S0W(#DX- at T*(#8S-" R.#D@
M-S$U#0H at .3@W(#4V,2 S-#(-"@T*(#@W,B Q.3, at -C4T#0H at -38Q(#<R-" X
M.3,-"B T.3, at -C4X(#(W,0T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*
M(# P," P,# @,#8P#0H@,S V(# P," P,# -"B P,# @,# P(#@P-0T*#0H@
M,# P(#8P-2 P-S$-"B P,#4@,# P(#,P, T*(#$P," X-S @,#0R#0H-"B Y
M,# @,C P(# Q- T*(#(P,2 P.# @,# P#0H@,# P(#<P,R P,# -"@T*#0H@
M-3 at W(#,T,B Q-CD-"B S,38 at -3DX(#0R-PT*(#0R.2 Q-C<@.#,U#0H-"B X
M-#(@-C,U(#DW,0T*(#<Y-2 T,C$@,S at V#0H@,38S(#@W.2 U-#(-"@T*(#DS
M." R-38 at -S$T#0H@,C<Q(#DX-" V-3,-"B V-30 at -S$S(#(Y. T*/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#DP," P,# @-3 at V#0H@,# X(# W," P
M,#0-"B T,#$@,# P(#,P, T*#0H@,# R(# Q," Y,# -"B X,#0@,# U(#$P
M, T*(# P," P,#<@,# P#0H-"B P,#,@,# X(#<P, at T*(# P," P,# @,# P
M#0H at -C P(# T," P,#D-"@T*#0H at .3(W(#0S,2 U.#8-"B S-C@@-3<Y(#(Q
M- T*(#0U,2 R.#8@,SDW#0H-"B W,S(@.#$T(#DV-0T*(#@Y-" V,C4@,3<S
M#0H at -3$V(#,Y-R T,C at -"@T*(#$T,R Y-C@@-S4R#0H@,C at Y(#<U,R V-#$-
M"B V-S4@,30R(#@S.0T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P
M," P,S(@.3<P#0H@,#<P(# T-2 P,3 -"B P,# @.# P(# P, T*#0H@,# Q
M(# V," P,# -"B P,# @,# P(# P, T*(# R.2 P,# @.#0P#0H-"B U,# @
M-C(P(# P-PT*(# P-" P,# @,# Y#0H@,3 P(# P.2 P,S8-"@T*#0H at .#0V
M(#$S,B Y-S4-"B S-S(@.30U(#8Q. T*(#DQ-2 X-S8@,S(T#0H-"B T-3$@
M,S8X(#<Y, at T*(#<S." R.30 at -38Q#0H at -C(Y(#4Q-R X-#,-"@T*(#4Y,R V
M,C$@-#@W#0H@,C8T(#<X,R Q-3D-"B Q.#<@-#4Y(#(S- at T*/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T-"@T*(#DU," P,#,@,# X#0H at .# P(# P,B P,# -
M"B P,S$@,# P(# P, T*#0H@,#8P(#,U," P.3 -"B P,3 @,# W(# U, T*
M(# P," P-C @,#$P#0H-"B P,#@@,# P(#,P-PT*(# P," R,#8@,# Y#0H@
M,# W(# P," P,#0-"@T*#0H at .34R(#<Q,R V-#@-"B X-S8 at -30R(#DS,0T*
M(#0S,2 V.#D@,C<U#0H-"B W-C0@,S4Q(#@Y, at T*(#,Q.2 X,C<@-#4V#0H@
M,C at U(#DV-" W,3,-"@T*(#$R." T.34@,S8W#0H at -30S(#(W-B Q.#D-"B V
M.3<@,3,X(#4R- T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," P
M,# @,# P#0H@,S P(# R-R X,#$-"B Q,# @,#@S(# P, T*#0H@,# U(# P
M,2 P,# -"B P,#$@,S<P(# V, T*(# P-R P,#0@,# R#0H-"B R,# @,#8P
M(# W, T*(# P-" P,# @,# P#0H at .3 P(# S," V-3 -"@T*#0H at -3@Y(#$T
M-B W,C,-"B S-#8 at -3(W(#@Y,0T*(#$W,B Y.#, at -30V#0H-"B V,S4@,CDQ
M(#0X-PT*(#0R,2 S-S@@.38U#0H at .#DW(#8U-" S,3(-"@T*(#(U,R T-CD@
M,3<X#0H at -S8T(#@Q-2 R,SD-"B Y,3@@-S,R(#8U- T*/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T-"@T*(# S," R,#<@,# Q#0H@,# P(#$X," V-S -"B P
M,#$@,#,P(# U, T*#0H@,# P(#4P," Y,# -"B Q.3 @,# T(# P. T*(# P
M," V,# @,#(P#0H-"B S,# @-S P(# P, T*(# P," P,#4@,#@P#0H@,# P
M(# R," P,#8-"@T*#0H at .3,V(#(U-R X-#$-"B R-#4@,3 at Y(#8W,PT*(#<X
M,2 T,S8@,C4Y#0H-"B X-C0 at -3$R(#DS-PT*(#$Y,B S-S0 at -38X#0H at -3<S
M(#8Y." Q,C0-"@T*(#,R." W-C$@-#DU#0H at -C$W(#DT-2 S.#(-"B T-3D@
M.#(S(#<Q- at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#8P," P,# @
M,# T#0H@,#(P(#4P-R P,# -"B P,# @,# P(# S,0T*#0H@,#$P(#DP," P
M-C -"B P,# @,S4P(#$P.0T*(#@P," P,# @,# R#0H-"B R-# @,3 X(# P
M, T*(# V-R P.3 @,# P#0H@,# S(# P," P,#8-"@T*#0H at -C4Q(#@S.2 W
M,C0-"B S,C0 at -3$W(#8Y. T*(#<Y." T,C8 at -3,Q#0H-"B U,3(@.3 at T(#,V
M-PT*(#0W-B S-3(@,3 at Y#0H at .#,Y(#8W,2 T-3(-"@T*(#(T-2 Q-C@@.3<S
M#0H@,38W(#(Y,R X-#4-"B Y.#, at -S0U(#(Q- at T*/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T-"@T*(#8P," P.34@,# P#0H@,# P(# V,2 X,#(-"B P,# @
M,# P(#$P, T*#0H at -3 P(# Q-B P,# -"B P,#0@,# P(#(P, T*(# P,B P
M,#@@,#,V#0H-"B P,# @,# R(#0U, T*(# T," P-3 @,# P#0H@,# S(#0P
M," P-S -"@T*#0H at -C(Q(#@Y-2 S-#<-"B T-S4@,S8Q(#@Y, at T*(#,Y." W
M,C0@,38U#0H-"B U,SD@,C$V(#<X- T*(#@V-" U,S<@,C$Y#0H at -S$R(#DT
M." U,S8-"@T*(#DX-B Q-S(@-#4S#0H@,30W(#8U,R Y,C at -"B R-3, at -#@Y
M(#8W,0T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(#(P,2 P-S @.# P
M#0H at -#8P(# P," P.3 -"B P.# @,#$P(# T, T*#0H@,# P(# U," P,S -
M"B P,S @.3 at P(# U,0T*(# P," P,#8@,# P#0H-"B P,#0@,#DW(# P, T*
M(#4P," P,# @,# P#0H@,#DP(# R," W,# -"@T*#0H@,C4Q(#0W.2 X-C,-
M"B T-C<@,C,X(#$Y-0T*(#DX,R V,34@,C0W#0H-"B X-#D at -S4Q(#8S, at T*
M(#<S-B Y.#(@-#4Q#0H@,3(U(#,T-B Y-S at -"@T*(#,Q-" X.3<@-3(V#0H@
M-3<R(#$V-" S.#D-"B V.3@@-3(S(#<Q- T*/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T-"@T*(# Y," P,# @,#,P#0H@,3 P(# P," X,# -"B P,# @,S$R
M(#<P, T*#0H@,#4P(#8T," P,#<-"B P,# @-S,P(#(T, T*(# X," U,# @
M,# P#0H-"B P,C8@,# P(# Q, T*(# P," P,#0@,S P#0H@,# P(# U," P
M-C -"@T*#0H@,CDU(#@W-B T,S$-"B Q-S, at -#DU(#@R- at T*(#8T." S,3(@
M-S4Y#0H-"B S-3(@-C0Y(#$X-PT*(#DV,2 W,S@@,C0U#0H at -#@W(#4R,2 V
M.3,-"@T*(#<R-B Y.#, at -3$T#0H at -3$Y(#(V-" S-S at -"B X,S0@,34W(#DV
M, at T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# P," U-C @,S P#0H@
M,3 P(# P," X,# -"B P,C0@,# P(# P, T*#0H@,# Y(# P," P,# -"B P
M.# @-S(P(# P- at T*(#8Q," X,# @,# P#0H-"B P,#<@,C V(# P, T*(#0P
M," P.# @,#,W#0H@,# P(#$P-" P.3 -"@T*#0H at .3<X(#4V,B S,30-"B Q
M,S8 at -#DW(#@R-0T*(#4R-" S,3@@-S8Y#0H-"B W-#D at -C4S(#$X, at T*(#,X
M-2 W,C$@.30V#0H at -C$R(#@T.2 U-S,-"@T*(#@Y-R R,S8 at -#4Q#0H at -#8Q
M(#DX-2 R,S<-"B R-3,@,3<T(#8Y. T*/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T-"@T*(# Y," P,S4 at -# V#0H@,# Q(# P," P,# -"B P,#<@,# P(# X
M.0T*#0H@,#<P(#DT," P-3 -"B Q,# @,C P(# P, T*(# P-B X,# @-S P
M#0H-"B P,#@@,# T(# S, T*(# P," V,# @,#0P#0H at -C U(# P," P,# -
M"@T*#0H at .#DR(#<S-2 T,38-"B U-C$@-#@Y(#,W, at T*(#0S-R Q-C(@-3 at Y
M#0H-"B R-S, at .30V(#$U. T*(#$X-" R-3<@.38S#0H at .34V(#@Q,R W,C0-
M"@T*(#<R." U.30 at -C,Q#0H@,S$Y(#8W." R-#4-"B V-#4@,S(Q(#@Y-PT*
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"@T*(# U," P-C @,#0P#0H@,# V
M(#(T-R P.3$-"B P,# @,3DP(# P, T*#0H@,# P(#8P," Y,# -"B R,# @
M,# P(# X- T*(# P," S,# @,# U#0H-"B P,S$@,# P(# P. T*(# P," P
M,# @,# V#0H@,# T(# P," R-3 -"@T*#0H@,34Y(#@V,R W-#(-"B S.#8@
M,C0W(#4Y,0T*(#<T,B Q.34 at .#8S#0H-"B T,34 at -C@R(#DS-PT*(#(W,R U
M,3D at -C@T#0H at -CDX(#,W-" Q,C4-"@T*(#4S,2 Y,C8 at -#<X#0H at .3(W(#0U
5." S,38-"B X-C0 at -S,Q(#(U.0T*
`
end



More information about the Digitalmars-d-learn mailing list