share bài toán 8 hậu

Thảo luận trong 'Khoa Khoa Học Máy Tính' bắt đầu bởi viethung_9x, 21 Tháng mười hai 2010.

  1. Offline

    viethung_9x

    • Windows XP

    Số bài viết:
    613
    Đã được thích:
    735
    Điểm thành tích:
    560
    PHP:
    /* Bai toan tam hoang hau */ 
    #include <stdio.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); 
    } 

    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 = 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; 
    } 
    } 
    } 

    void tim() 
    { 
    int i, q; 

    for (
    i=0; i<8; i++) 
    { 
    cot = 1; 
    dong = -1; 
    } 
    for (
    i=0; i<15; i++) 
    { 
    cheoxuoi = 1; 
    cheonguoc = 1; 
    } 
    thu(0); 
    } 

    void main() 
    { 
    tim(); 
    getch(); 
    }  
    withyou, integer, congthangitvn và 1 người khác thích bài này.
  2. Offline

    withyou

    • Windows 3.0

    Số bài viết:
    99
    Đã được thích:
    30
    Điểm thành tích:
    40
    bỏ trong thẻ code đi bạn, dong***91;8***93; đúng ra phải là dong[91][93]
    bài toán 8 hậu xét các đường ngang là i, cột dọc là j, chéo phải là i+j, chéo trái là i-j. có tất cả 92 cách sắp xếp 8 hậu.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí