_b_e_g_i_n _c_o_m_m_e_n_t pentomino, 130968; _i_n_t_e_g_e_r score, nummer, lengte, breedte, aantal stenen, aantal standen, i, j, k, teller, lb; lengte:= read; breedte:= read; aantal stenen:= read; aantal standen:= read; lb:= lengte * (breedte - 1); _b_e_g_i_n _i_n_t_e_g_e_r _a_r_r_a_y bord [-39 : 100], standen, wijzer [1 : aantal stenen], informatie [1 : 8 * aantal standen]; _b_o_o_l_e_a_n _a_r_r_a_y ongebruikt [1 : aantal stenen]; _p_r_o_c_e_d_u_r_e output; _b_e_g_i_n _i_n_t_e_g_e_r i, j; score:= score + 1; SPACE (1); _f_o_r j:= 1 _s_t_e_p 1 _u_n_t_i_l 2 * lengte _d_o _b_e_g_i_n PRINTTEXT (|<-|>); SPACE (1) _e_n_d ; _c_o_m_m_e_n_t ABSFIXT (6, 2, time); NLCR; _f_o_r i:= 0 _s_t_e_p lengte _u_n_t_i_l lb _d_o _b_e_g_i_n PRINTTEXT(|); _f_o_r j:= 1 _s_t_e_p 1 _u_n_t_i_l lengte - 1 _d_o _b_e_g_i_n SPACE (3); _i_f bord [i + j] |= bord [i + j + 1] _t_h_e_n PRINTTEXT(|) _e_l_s_e SPACE (1) _e_n_d ; SPACE (3); PRINTTEXT(|); NLCR; SPACE (1); _i_f i < lb _t_h_e_n _b_e_g_i_n _f_o_r j:= 1 _s_t_e_p 1 _u_n_t_i_l lengte _d_o _b_e_g_i_n _i_f bord [i + j] |= bord [i + j + lengte] _t_h_e_n _b_e_g_i_n PRINTTEXT (|<-|>); SPACE (1); PRINTTEXT (|<-|>); SPACE (1) _e_n_d _e_l_s_e SPACE (4) _e_n_d _e_n_d _e_l_s_e _f_o_r j:= 1 _s_t_e_p 1 _u_n_t_i_l 2 * lengte _d_o _b_e_g_i_n PRINTTEXT (|<-|>); SPACE (1) _e_n_d ; NLCR _e_n_d ; NLCR; NLCR; _i_f score = 7 _t_h_e_n _g_o_t_o ex _e_n_d output; _p_r_o_c_e_d_u_r_e up (veld, kolom); _v_a_l_u_e veld, kolom; _i_n_t_e_g_e_r veld, kolom; _b_e_g_i_n _i_n_t_e_g_e_r i, j, k, r, w, steen, aantal; nummer:= nummer + 1; _f_o_r steen:= 1 _s_t_e_p 1 _u_n_t_i_l aantal stenen _d_o _i_f ongebruikt [steen] _t_h_e_n _b_e_g_i_n ongebruikt [steen]:= _f_a_l_s_e ; bord [veld]:= steen; aantal:= standen [steen] - 1; _f_o_r i:= 0 _s_t_e_p 1 _u_n_t_i_l aantal _d_o _b_e_g_i_n w:= wijzer [steen] + 4 * i; _i_f bord [informatie [w] + veld] = 0 _t_h_e_n _b_e_g_i_n _i_f bord [informatie [w + 1] + veld] = 0 _t_h_e_n _b_e_g_i_n _i_f bord [informatie [w + 2] + veld] = 0 _t_h_e_n _b_e_g_i_n _i_f bord [informatie [w + 3] + veld] = 0 _t_h_e_n _b_e_g_i_n _f_o_r j:= 0, 1, 2, 3 _d_o bord [informatie [w + j] + veld]:= steen; _i_f nummer = aantal stenen _t_h_e_n output _e_l_s_e _b_e_g_i_n _f_o_r k:= kolom _s_t_e_p 1 _u_n_t_i_l lengte _d_o _f_o_r r:= 0 _s_t_e_p lengte _u_n_t_i_l lb _d_o _i_f bord [r + k] = 0 _t_h_e_n _g_o_t_o beet; beet: up (r + k, k) _e_n_d ; _f_o_r j:= 0, 1, 2, 3 _d_o bord [informatie [w + j] + veld]:= 0 _e_n_d _e_n_d _e_n_d _e_n_d _e_n_d ; ongebruikt [steen]:= _t_r_u_e _e_n_d ; bord [veld]:= 0; down: nummer:= nummer - 1 _e_n_d up; teller:= 1; _f_o_r i:= 1 _s_t_e_p 1 _u_n_t_i_l aantal stenen _d_o _b_e_g_i_n j:= read; _c_o_m_m_e_n_t steennummer, wordt niet gebruikt; wijzer [i]:= teller; standen [i]:= read; _f_o_r j:= 1 _s_t_e_p 1 _u_n_t_i_l standen [i] _d_o _b_e_g_i_n _f_o_r k:= 0 _s_t_e_p 1 _u_n_t_i_l 3 _d_o informatie [teller + k]:= read; teller:= teller + 4 _e_n_d _e_n_d ; _f_o_r i:= - 39 _s_t_e_p 1 _u_n_t_i_l 0, 61 _s_t_e_p 1 _u_n_t_i_l 100 _d_o bord [i]:= - 1; _f_o_r i:= 1 _s_t_e_p 1 _u_n_t_i_l 60 _d_o bord [i]:= 0; _f_o_r i:= 1 _s_t_e_p 1 _u_n_t_i_l aantal stenen _d_o ongebruikt [i]:= _t_r_u_e ; score:= nummer:= 0; NLCR; PRINTTEXT (|); NLCR; NLCR; NLCR; up (1, 1); ex: _e_n_d _e_n_d