Skip to content

Instantly share code, notes, and snippets.

@weijarz
Created October 28, 2014 13:36
Show Gist options
  • Save weijarz/377e463fbee60e243f02 to your computer and use it in GitHub Desktop.
Save weijarz/377e463fbee60e243f02 to your computer and use it in GitHub Desktop.
eight_queen_ob.py
#!/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