Subversion Repositories programming

Rev

Rev 407 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 407 Rev 408
Line 2... Line 2...
2
 
2
 
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
3
__author__    = "Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006, Ira W. Snyder (devel@irasnyder.com)"
4
__copyright__ = "Copyright (c) 2006, Ira W. Snyder (devel@irasnyder.com)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
5
__license__   = "GNU GPL v2 (or, at your option, any later version)"
6
 
6
 
-
 
7
from PyCompat import *
-
 
8
 
7
import sys
9
import sys
8
import copy
10
import copy
-
 
11
import time
9
 
12
 
10
#
13
#
11
# Domain class.
14
# Domain class.
12
#
15
#
13
# This will hold the domain for each place in the SudokuPuzzle class.
16
# This will hold the domain for each place in the SudokuPuzzle class.
Line 225... Line 228...
225
 
228
 
226
		print s
229
		print s
227
 
230
 
228
 
231
 
229
def solve (puzzle):
232
def solve (puzzle):
-
 
233
 
-
 
234
	# Print the puzzle we're trying to solve
-
 
235
	puzzle.print_generic ('\nTrying to solve:')
-
 
236
	puzzle.print_generic ('%s\n' % str(puzzle))
-
 
237
 
230
	changed = True
238
	changed = True
231
 
239
 
232
	# The main Arc Consistency Algorithm implementation
240
	# The main Arc Consistency Algorithm implementation
233
	while changed:
241
	while changed:
234
		changed = False
242
		changed = False
Line 313... Line 321...
313
			except:
321
			except:
314
				pass
322
				pass
315
 
323
 
316
			count += 1
324
			count += 1
317
 
325
 
318
	print '\nThe puzzle entered was:'
326
	tstart = time.time ()
319
	print s
327
	solution = solve (s)
320
 
-
 
-
 
328
	tend = time.time ()
321
	print '\nThe solution is:'
329
	print '\nThe solution is:'
322
	print solve (s)
330
	print str(solution)
-
 
331
	print
-
 
332
	print 'Took %s seconds to solve' % str(tend - tstart)
323
 
333
 
324
if __name__ == '__main__':
334
if __name__ == '__main__':
325
	main ()
335
	main ()