Giới thiệu bài toán

Một phần của tài liệu Chuẩn mã dữ liệu DES và xây dựng chương trình ứng dụng (Trang 46 - 49)

Bài toán gồm một hình vuông kích thước n×n ô, có n2-1 ô có số, mỗi ô có 1 số từ 1 đến n2-1, một ô còn trống. Mỗi lần chỉ di chuyển được một ô nằm cạnh ô trống về phía ô trống. Vấn đề từ một trạng thái ban đầu bất kỳ, bằng những thao tác dịch chuyển lên trên, xuống dưới, sang trái, sang phải hãy đưa hình vuông về dạng ô trống ở góc phải phía dưới và thứ tự các ô theo thứ tự tự nhiên, theo thứ tự từ trái sang phải từ trên xuống dưới.

Cơ sở của trò chơi xếp hình là dựa vào bài toán trên. Đây là nột trò chơi phổ biến, nó giúp rèn luyện tính kiên trì, phát huy tối đa trí tưởng tượng và tư duy hình học của người chơi phù hợp với mọi lứa tuổi, mọi giới.

Ví dụ: Bài toán 8 số:

Chúng ta có bảng 3×3 và tám quân mang số hiệu từ 1 đến 8 được xếp vào 8 ô, còn lại một ô trống, chẳng hạn như trong hình 3.1 bên trái. Trong trò chơi này, bạn có thể dịch chuyển các quân ở cạnh ô trống tới ô trống đó. Vấn đề là tìm ra một dãy các dịch chuyển để biến đổi trạng thái ban đầu (hình 3.1 bên trái) thành một tình huống xác định nào đó, chẳng hạn như trạng thái trong hình 3.1 bên phải. Trong bài toán này, trạng thái ban đầu là hình 3.1 bên trái, còn trạng thái kết thúc ở hình 3.1 bên phải.

Quy tắc dịch chuyển các quân: 1 7 4

3 5

8 6 2

Hình 3.2: Một trạng thái của bài toán 8 số

- Nếu ô trống nằm ở hàng 1 thì không dịch chuyển lên trên.

- Nếu ô trống nằm ở hàng cuối thì không dịch chuyển xuống dưới. - Nếu ô trống nằm ở cột đầu tiên thì không dịch chuyển sang trái. - Nếu ô trống nằm ở cột cuối cùng thì không dịch chuyển sang phải. - Nếu dịch lên hoặc dịch xuống thì vị trí của cột không thay đổi. - Nếu dịch sang trái hoặc sang phải thì vị trí của hàng không thay đổi.

Ví dụ:

Hình 3.3: Phát triển một trạng thái

Ta có bốn toán tử: up (đẩy quân lên trên), down (đẩy quân xuống dưới), left (đẩy quân sang trái), right (đẩy quân sang phải). Chẳng hạn, từ trạng thái ban đầu (hình 3.1 bên trái) ta chỉ có thể áp dụng các toán tử down, left, right (hình 3.3).

Trong thực tế bài toán n2-1 số có thể mở rộng thành nhiều bài toán. Trong chương trình này em sẽ mở rộng bài toán thành các bài toán:

- Chọn kích cỡ của ván chơi 8 ô (3×3), 16 ô (4×4), 25 ô (5×5), 36 ô (6×6). - Bài toán ghép tranh (image): mỗi ô số được thay bằng một mảnh ghép của một bức tranh, nhiệm vụ của chúng ta là sắp xếp những mảnh ghép này thành một bức tranh hoàn chỉnh.

- Bài toán sắp xếp tranh có đánh số (image – number). - Bài toán sắp xếp số (number).

Một phần của tài liệu Chuẩn mã dữ liệu DES và xây dựng chương trình ứng dụng (Trang 46 - 49)