:: پشتیبانی فنی ADSL به پارسی ::

::: ADSL - ویندوز - نرم افزار - سخت افزار - موبایل - لینوکس - آفیس - شبکه - برنامه نویسی :::

:: پشتیبانی فنی ADSL به پارسی ::

::: ADSL - ویندوز - نرم افزار - سخت افزار - موبایل - لینوکس - آفیس - شبکه - برنامه نویسی :::

:: پشتیبانی فنی ADSL به پارسی ::

تقدیم به تمام پشتیبانان ADSL که به رنج در تلاشند

*** تاسیس به سال 1389 در بلاگفا ***

بایگانی
  • ۰
  • ۰

تابعی که الگوریتم 8 وزیر را با موقعیت وزیر با 7 مهره بدون برخورد نشان دهد ( Eight Queens puzzle using backtracking

 

 

q = [0] * 8 
counter = 0
#==============<< isConsistent >>================
def isConsistent(n) :
    for i in range (n) :
        if q[i] == q[n] :
            return False           # Same Column
        if q[i] - q[n] == n - i :
            return False       # Yeksani Movarab Asli  
        if q[n]- q[i] == n - i :
            return False      # Yeksani ghotr faree 
    return True 

#=============<< PrintQueens >>=====================

def printQueens() :
    global counter
    print("[" + str(counter) + "]")
    print()
    for i in range (8) :
            for j in range (8) :
                if q[i] == j :
                    print("Q",end="") 
                else :
                    print("*",end="")
    print()
print()

#=====================<< Enumerate >>==================

def enumerate(k) :
    n = 8 
    if k == n :
        printQueens()
    else :
        for i in range (0, n) :
            q[k] = i
            if isConsistent(k) :
                enumerate(k+1)
                
#===============<< MAIN >>========================

enumerate(0)
        
        
        

  • ۰۳/۱۲/۲۵
  • amir khan

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی