Cài đặt Bài toán Xếp Hậu
Bài toán tám quân hậu là bài toán đặt tám quân hậu trên bàn cờ vua kích thước 8×8 sao cho không có quân hậu nào có thể "ăn" được quân hậu khác, hay nói khác đi không quân hậu nào có để di chuyển theo quy tắc cờ vua. Mầu của các quân hậu không có ý nghĩa trong bài toán này. Như vậy, lời giải của bài toán là một cách xếp tám quân hậu trên bàn cờ sao cho không có hai quân nào đứng trên cùng hàng, hoặc cùng cột hoặc cùng đường chéo. Bài toán tám quân hậu có thể tổng quát hóa thành bài toán đặt n quân hậu trên bàn cờ n×n (n ≥ 4).
/* ------------------------ */
#include <stdio.h>
#include<conio.h>
int dong[8], cot[8], cheoxuoi[15], cheonguoc[15];
//
void print (){
int i;
printf("\n");
for (i=0; i<8; i++)
printf("%3d", dong[i]);
}
int i;
printf("\n");
for (i=0; i<8; i++)
printf("%3d", dong[i]);
}
//
void thu(int i){
int j;
for (j=0; j<8; j++) {
if(cot[j]==1&&cheoxuoi[i+j]==1&&cheonguoc[i-j+7]==1)
{
dong[i] = j;
cot[j] = 0;
cheoxuoi[i+j] = 0;
cheonguoc[i-j+7] = 0;
if (i<7)
thu(i+1);
else
print();
cot[j] = 1;
cheoxuoi[i+j] = 1;
cheonguoc[i-j+7] = 1;
}
}
}
// Hàm tìm
void tim(){
int i, q;
for (i=0; i<8; i++)
{
cot[i] = 1;
dong[i] = -1;
}
for (i=0; i<15; i++)
{
cheoxuoi[i] = 1;
cheonguoc[i] = 1;
}
thu(0);
}
void thu(int i){
int j;
for (j=0; j<8; j++) {
if(cot[j]==1&&cheoxuoi[i+j]==1&&cheonguoc[i-j+7]==1)
{
dong[i] = j;
cot[j] = 0;
cheoxuoi[i+j] = 0;
cheonguoc[i-j+7] = 0;
if (i<7)
thu(i+1);
else
print();
cot[j] = 1;
cheoxuoi[i+j] = 1;
cheonguoc[i-j+7] = 1;
}
}
}
// Hàm tìm
void tim(){
int i, q;
for (i=0; i<8; i++)
{
cot[i] = 1;
dong[i] = -1;
}
for (i=0; i<15; i++)
{
cheoxuoi[i] = 1;
cheonguoc[i] = 1;
}
thu(0);
}
// Hàm chính
void main(){
tim();
getch();
}
/***************/
>> DOWNLOAD TURBO C++ 3.0
>> DOWNLOAD TURBO C++ 4.5
Lưu ý: chờ 5s => click SKIN AD (bỏ qua quảng cáo)
* Download công cụ lập trình C\C++ tại đây [http://taiphanmemlaptrinh.blogspot.com]
* Download tài liệu học C\C++ và CTDL> tại đây [http://ebooks-ict.blogspot.com]
Chúc các bạn thành công!
void main(){
tim();
getch();
}
/***************/
>> Tải Code Chương trình tại đây
Lưu ý: Sau 5s, click Bỏ qua quảng cáo - Skin Ad)
* Mô phỏng Kết quả bài toán
//----------------------------------------------------//
>> DOWNLOAD TURBO C++ 3.0
>> DOWNLOAD TURBO C++ 4.5
Lưu ý: chờ 5s => click SKIN AD (bỏ qua quảng cáo)
* Download công cụ lập trình C\C++ tại đây [http://taiphanmemlaptrinh.blogspot.com]
* Download tài liệu học C\C++ và CTDL> tại đây [http://ebooks-ict.blogspot.com]
* Có thể bạn quan tâm:
- Những cuốn sách mà các bạn không thể bỏ qua khi còn trẻ
- Khoá học tin học văn phòng tốt nhất
* Có thể bản quan tâm: [MMO] Hướng Dẫn *Kiếm Tiền Tự Động* Với Các Ứng Dụng Treo Máy *CỰC KỲ ĐƠN GIẢN VÀ HIỆU QUẢ*
Chúc các bạn thành công!