Created
October 28, 2014 13:36
-
-
Save weijarz/377e463fbee60e243f02 to your computer and use it in GitHub Desktop.
eight_queen_ob.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import sys as O00O00O0O0O0OOO0O ,itertools as OOOO0O00000OO0OO0 #line:2 | |
__all__ =[]#line:3 | |
OOOOOOOOOOO00O000 =8 #line:4 | |
OOOO0OO0OO00OO0OO =OOOOOOOOOOO00O000 *OOOOOOOOOOO00O000 #line:6 | |
OOO0O0O00OO0O00OO ={}#line:13 | |
OO0OOOOO0OOOO0O00 ={}#line:14 | |
def OOO0O0O00OO00O000 (OOO0OOOO000OOO00O ):#line:17 | |
assert len (OOO0OOOO000OOO00O )==OOOO0OO0OO00OO0OO #line:19 | |
O0O000000000O000O =iter (OOO0OOOO000OOO00O )#line:20 | |
for O000O0O0OOOOO000O in range (OOOOOOOOOOO00O000 ):#line:21 | |
for OOO000OOO0O00OOO0 in range (OOOOOOOOOOO00O000 ):#line:22 | |
print (next (O0O000000000O000O ),end ='')#line:23 | |
print ('\n')#line:24 | |
def O00O000O00O0OO0OO (OOO00OOOOO00OOOO0 ):#line:26 | |
OO0000OO00OOO0000 =[OO0O00OOOO000OO00 in OOO00OOOOO00OOOO0 and '*'or '_'for OO0O00OOOO000OO00 in range (OOOO0OO0OO00OO0OO )]#line:28 | |
return OO0000OO00OOO0000 #line:29 | |
for O00OOOOO00O000OO0 in range (OOOO0OO0OO00OO0OO ):#line:33 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]=[]#line:34 | |
for O0OO000O0OOOO0O00 in range (OOOOOOOOOOO00O000 ):#line:36 | |
O0O0O000O000OOOOO =range (O0OO000O0OOOO0O00 *OOOOOOOOOOO00O000 ,(O0OO000O0OOOO0O00 +1 )*OOOOOOOOOOO00O000 )#line:37 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:38 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:39 | |
for O0O00O0O0O0OOO0O0 in range (OOOOOOOOOOO00O000 ):#line:41 | |
O0O0O000O000OOOOO =[O0O00O0O0O0OOO0O0 +OOO0O000O00OOO00O for OOO0O000O00OOO00O in range (0 ,OOOO0OO0OO00OO0OO ,OOOOOOOOOOO00O000 )]#line:42 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:43 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:44 | |
for O00OO00O0O0OO000O in range (OOOOOOOOOOO00O000 ):#line:46 | |
OO00O00OO00OOOOO0 =O00OO00O0O0OO000O +1 #line:47 | |
O0OOO0OOOO0OOOO00 =OOOOOOOOOOO00O000 -O00OO00O0O0OO000O #line:48 | |
O0O0O000O000OOOOO =[O00OO00O0O0OO000O +(OOOOOOOOOOO00O000 -1 )*OO0OO0OO0O00000OO for OO0OO0OO0O00000OO in range (OO00O00OO00OOOOO0 )]#line:50 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:51 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:52 | |
O0O0O000O000OOOOO =[O00OO00O0O0OO000O +(OOOOOOOOOOO00O000 +1 )*OO00OOO00OO0O0OOO for OO00OOO00OO0O0OOO in range (O0OOO0OOOO0OOOO00 )]#line:54 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:55 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:56 | |
for O00OO00O0O0OO000O in range (OOOO0OO0OO00OO0OO -OOOOOOOOOOO00O000 ,OOOO0OO0OO00OO0OO ):#line:58 | |
OO00O00OO00OOOOO0 =(O00OO00O0O0OO000O %OOOOOOOOOOO00O000 )+1 #line:59 | |
O0OOO0OOOO0OOOO00 =OOOOOOOOOOO00O000 -OO00O00OO00OOOOO0 +1 #line:60 | |
O0O0O000O000OOOOO =[O00OO00O0O0OO000O -(OOOOOOOOOOO00O000 +1 )*O000OOO0O0OOO0O00 for O000OOO0O0OOO0O00 in range (OO00O00OO00OOOOO0 )]#line:62 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:63 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:64 | |
O0O0O000O000OOOOO =[O00OO00O0O0OO000O -(OOOOOOOOOOO00O000 -1 )*OO00O0OOO00000OO0 for OO00O0OOO00000OO0 in range (O0OOO0OOOO0OOOO00 )]#line:66 | |
for O00OOOOO00O000OO0 in O0O0O000O000OOOOO :#line:67 | |
OOO0O0O00OO0O00OO [O00OOOOO00O000OO0 ]+=O0O0O000O000OOOOO #line:68 | |
OOOOO00OOO0O00000 =set (range (OOOO0OO0OO00OO0OO ))#line:70 | |
for OO0OO0O00000O00O0 in OOO0O0O00OO0O00OO :#line:72 | |
OO0OOOOO0OOOO0O00 [OO0OO0O00000O00O0 ]=OOOOO00OOO0O00000 -set (OOO0O0O00OO0O00OO [OO0OO0O00000O00O0 ])#line:73 | |
def O0OOO00O0O00OOO00 (remaining =None ,depth =0 ):#line:82 | |
O0000OOOOO000OO0O =depth *OOOOOOOOOOO00O000 +OOOOOOOOOOO00O000 #line:83 | |
if remaining is not None :#line:85 | |
O0OO0OO00OO0O0000 =[OO000OOO0000O00OO for OO000OOO0000O00OO in remaining if OO000OOO0000O00OO <O0000OOOOO000OO0O ]#line:86 | |
else :#line:87 | |
O0OO0OO00OO0O0000 =[O0000O000O0O0O00O for O0000O000O0O0O00O in range (OOOOOOOOOOO00O000 )]#line:88 | |
for O0000O000O0OOO000 in O0OO0OO00OO0O0000 :#line:90 | |
if depth ==OOOOOOOOOOO00O000 -1 :#line:91 | |
yield (O0000O000O0OOO000 ,)#line:92 | |
else :#line:93 | |
if remaining is None :#line:94 | |
O00OO0OO000OO0OOO =OO0OOOOO0OOOO0O00 [O0000O000O0OOO000 ]#line:95 | |
else :#line:96 | |
O00OO0OO000OO0OOO =remaining &OO0OOOOO0OOOO0O00 [O0000O000O0OOO000 ]#line:97 | |
for OO0O000O0OO0OOO00 in O0OOO00O0O00OOO00 (O00OO0OO000OO0OOO ,depth +1 ):#line:99 | |
yield (O0000O000O0OOO000 ,)+OO0O000O0OO0OOO00 #line:100 | |
return #line:101 | |
OO0OOOOO0O000OOOO =[O0O0OO0O0000OOOO0 for O0O0OO0O0000OOOO0 in O0OOO00O0O00OOO00 ()]#line:103 | |
for OOO0000OO0OO00O0O ,O0OO0O00OO0OOO00O in enumerate (OO0OOOOO0O000OOOO ):#line:105 | |
print ('='*OOOOOOOOOOO00O000 *2 ,"#%s"%(OOO0000OO0OO00O0O +1 ))#line:106 | |
OOO0O0O00OO00O000 (O00O000O00O0OO0OO (O0OO0O00OO0OOO00O ))#line:107 | |
print ('%s solutions found for %s queens'%(OOO0000OO0OO00O0O +1 ,OOOOOOOOOOO00O000 )) | |
#===============================================================# | |
# Obfuscated by Oxyry Python Obfuscator (http://pyob.oxyry.com) # | |
#===============================================================# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment