@@ -126,21 +126,40 @@ fn write_grid(f: io::Writer, g: grid_t) {
126126 }
127127}
128128
129- const default_grid: [ [ u8 ] ] = [ [ 0 , 4 , 0 , 6 , 0 , 0 , 0 , 7 , 2 , 0 ] , //0
130- [ 0 , 0 , 8 , 0 , 2 , 0 , 0 , 0 , 0 , 0 ] , //1
131- [ 7 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 0 , 0 ] , //2
132- [ 0 , 0 , 0 , 5 , 0 , 0 , 0 , 0 , 0 , 0 ] , //3
133- [ 0 , 5 , 0 , 0 , 0 , 3 , 6 , 0 , 0 , 0 ] , //4
134- [ 6 , 8 , 0 , 0 , 0 , 0 , 0 , 9 , 0 , 0 ] , //5
135- [ 0 , 9 , 5 , 0 , 0 , 6 , 0 , 7 , 0 , 0 ] , //6
136- [ 0 , 0 , 0 , 0 , 4 , 0 , 0 , 6 , 0 , 0 ] , //7
137- [ 4 , 0 , 0 , 0 , 0 , 7 , 2 , 0 , 3 , 0 ] , //8
138- [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ] ;
139-
140129fn main ( ) {
141130 let args = os:: args ( ) ;
142- let grid = if args. len ( ) == 1 {
143- default_grid;
131+ let grid = if vec:: len ( args) == 1 u {
132+ // FIXME create sudoku inline since nested vec consts dont work yet
133+ // (#571)
134+ let g = vec:: from_fn ( 10 u, |_i| {
135+ vec:: to_mut ( vec:: from_elem ( 10 u, 0 as u8 ) )
136+ } ) ;
137+ g[ 0 ] [ 1 ] = 4u8 ;
138+ g[ 0 ] [ 3 ] = 6u8 ;
139+ g[ 0 ] [ 7 ] = 3u8 ;
140+ g[ 0 ] [ 8 ] = 2u8 ;
141+ g[ 1 ] [ 2 ] = 8u8 ;
142+ g[ 1 ] [ 4 ] = 2u8 ;
143+ g[ 2 ] [ 0 ] = 7u8 ;
144+ g[ 2 ] [ 3 ] = 8u8 ;
145+ g[ 3 ] [ 3 ] = 5u8 ;
146+ g[ 4 ] [ 1 ] = 5u8 ;
147+ g[ 4 ] [ 5 ] = 3u8 ;
148+ g[ 4 ] [ 6 ] = 6u8 ;
149+ g[ 5 ] [ 0 ] = 6u8 ;
150+ g[ 5 ] [ 1 ] = 8u8 ;
151+ g[ 5 ] [ 7 ] = 9u8 ;
152+ g[ 6 ] [ 1 ] = 9u8 ;
153+ g[ 6 ] [ 2 ] = 5u8 ;
154+ g[ 6 ] [ 5 ] = 6u8 ;
155+ g[ 6 ] [ 7 ] = 7u8 ;
156+ g[ 7 ] [ 4 ] = 4u8 ;
157+ g[ 7 ] [ 7 ] = 6u8 ;
158+ g[ 8 ] [ 0 ] = 4u8 ;
159+ g[ 8 ] [ 5 ] = 7u8 ;
160+ g[ 8 ] [ 6 ] = 2u8 ;
161+ g[ 8 ] [ 8 ] = 3u8 ;
162+ grid_ctor ( g)
144163 } else {
145164 read_grid ( io:: stdin ( ) )
146165 } ;
0 commit comments