All pastes #468507 Raw Edit

Untitled

public python v1 · immutable
·published 2007-05-03 04:54 UTC
rendered paste body
nonIntersect,stripZeroes,isSolved,getColumn,getRow,getBox,addAnswer,sudogrid,sudopoints,basegrid,finalAnswers,twoOp=lambda ar1,ar2: list(set(ar1)-set(ar2)),lambda ar1: filter(lambda x: x!=0,ar1),lambda sudogrid: (not len(filter(lambda x: filter(lambda y: y==0,x),sudogrid)))*1,lambda i: sudogrid[i],lambda j: list((x[j] for x in sudogrid[0:9])),lambda i,j: list((y for x in sudogrid[i:i+3] for y in x[j:j+3])),lambda st: finalAnswers.append({"x":int(st[1])-1,"y":int(st[0])-1}),list(list(int(x) for x in raw_input().split(",")) for x in range(0,9)),list(list([] for y in range(0,9)) for x in range(0,9)),range(0,10),list({"x":int(x),"y":int(y)} for y,x in list(raw_input().split(",") for d in range(0,5))),lambda x,y:  x #Ryan Wdef printAnswer(pt): print getRow(pt["x"])[pt["y"]]while isSolved(sudogrid)!=1 or map(printAnswer,finalAnswers)*False: list(sudogrid[x][y]!=0 or sudopoints[x].__setitem__(y,twoOp((nonIntersect(nonIntersect(nonIntersect(basegrid,getColumn(x)),getRow(y)),getBox(int(3*((x/3.0)-((x%3.0)/3.0))),int(3*((y/3.0)-((y%3.0)/3.0)))))),(len(stripZeroes(sudopoints[x][y]))==1 and sudogrid[x].__setitem__(y,sudopoints[x][y][0])))) for x,y in zip(list(x for x in range(0,9) for y in range(0,9)),list(y for x in range(0,9) for y in range(0,9))))                ####nonIntersect,stripZeroes,isSolved,getColumn,getRow,getBox,addAnswer,sudogrid,sudopoints,basegrid,finalAnswers,twoOp=lambda ar1,ar2: list(set(ar1)-set(ar2)),lambda ar1: filter(lambda x: x!=0,ar1),lambda sudogrid: (not len(filter(lambda x: filter(lambda y: y==0,x),sudogrid)))*1,lambda i: sudogrid[i],lambda j: list((x[j] for x in sudogrid[0:9])),lambda i,j: list((y for x in sudogrid[i:i+3] for y in x[j:j+3])),lambda st: finalAnswers.append({"x":int(st[1])-1,"y":int(st[0])-1}),[],[],range(0,10),[],lambda x,y:  x #Ryan W##def printAnswer(pt): print getRow(pt["x"])[pt["y"]]##for i in range(0,1+9+5):  ((i==0) and (list(sudogrid.append(list(0 for x in range(0,9))) for x in range(0,9)),list(sudopoints.append(list([] for x in range(0,9))) for x in range(0,9)))) or ((i>0 and i<10) and sudogrid.__setitem__(i-1,list( int(temp) for temp in raw_input().split(',')))) or ((i>=10) and addAnswer(raw_input().split(',')))##while isSolved(sudogrid)!=1 or map(printAnswer,finalAnswers)*False: list(sudogrid[x][y]!=0 or sudopoints[x].__setitem__(y,twoOp((nonIntersect(nonIntersect(nonIntersect(basegrid,getColumn(x)),getRow(y)),getBox(int(3*((x/3.0)-((x%3.0)/3.0))),int(3*((y/3.0)-((y%3.0)/3.0)))))),(len(stripZeroes(sudopoints[x][y]))==1 and sudogrid[x].__setitem__(y,sudopoints[x][y][0])))) for x,y in zip(list(x for x in range(0,9) for y in range(0,9)),list(y for x in range(0,9) for y in range(0,9))))##                ##nonIntersect,stripZeroes,isSolved,getColumn,getRow,getBox,addAnswer,sudogrid,sudopoints,basegrid,finalAnswers,twoOp=lambda ar1,ar2: list(set(ar1)-set(ar2)),lambda ar1: filter(lambda x: x!=0,ar1),lambda sudogrid: (not len(filter(lambda x: filter(lambda y: y==0,x),sudogrid)))*1,lambda i: sudogrid[i],lambda j: list((x[j] for x in sudogrid[0:9])),lambda i,j: list((y for x in sudogrid[i:i+3] for y in x[j:j+3])),lambda st: finalAnswers.append({"x":int(st[1])-1,"y":int(st[0])-1}),[],[],range(0,10),[],lambda x,y:  x #Ryan W##def printAnswer(pt): print getRow(pt["x"])[pt["y"]]##for i in range(0,1+9+5):  ((i==0) and (list(sudogrid.append(list(0 for x in range(0,9))) for x in range(0,9)),list(sudopoints.append(list([] for x in range(0,9))) for x in range(0,9)))) or ((i>0 and i<10) and sudogrid.__setitem__(i-1,list( int(temp) for temp in raw_input().split(',')))) or ((i>=10) and addAnswer(raw_input().split(',')))##while isSolved(sudogrid)!=1 or map(printAnswer,finalAnswers)*False:##    for x,y in zip(list(x for x in range(0,9) for y in range(0,9)),list(y for x in range(0,9) for y in range(0,9))): sudogrid[x][y]!=0 or sudopoints[x].__setitem__(y,twoOp((nonIntersect(nonIntersect(nonIntersect(basegrid,getColumn(x)),getRow(y)),getBox(int(3*((x/3.0)-((x%3.0)/3.0))),int(3*((y/3.0)-((y%3.0)/3.0)))))),(len(stripZeroes(sudopoints[x][y]))==1 and sudogrid[x].__setitem__(y,sudopoints[x][y][0]))))##                ##nonIntersect,stripZeroes,isSolved,getColumn,getRow,getBox,addAnswer,sudogrid,sudopoints,basegrid,finalAnswers=lambda ar1,ar2: list(set(ar1)-set(ar2)),lambda ar1: filter(lambda x: x!=0,ar1),lambda sudogrid: (not len(filter(lambda x: filter(lambda y: y==0,x),sudogrid)))*1,lambda i: sudogrid[i],lambda j: list((x[j] for x in sudogrid[0:9])),lambda i,j: list((y for x in sudogrid[i:i+3] for y in x[j:j+3])),lambda st: finalAnswers.append({"x":int(st[1])-1,"y":int(st[0])-1}),[],[],range(0,10),[] #Ryan W##def printAnswer(pt): print getRow(pt["x"])[pt["y"]]##for i in range(0,1+9+5):  ((i==0) and (list(sudogrid.append(list(0 for x in range(0,9))) for x in range(0,9)),list(sudopoints.append(list([] for x in range(0,9))) for x in range(0,9)))) or ((i>0 and i<10) and sudogrid.__setitem__(i-1,list( int(temp) for temp in raw_input().split(',')))) or ((i>=10) and addAnswer(raw_input().split(',')))##while isSolved(sudogrid)!=1 or (map(printAnswer,finalAnswers)<0)*False:##    for x,y in zip(list(x for x in range(0,9) for y in range(0,9)),list(y for x in range(0,9) for y in range(0,9))):##            if(sudogrid[x][y]==0): sudopoints[x][y],temp=(nonIntersect(nonIntersect(nonIntersect(basegrid,getColumn(x)),getRow(y)),getBox(int(3*((x/3.0)-((x%3.0)/3.0))),int(3*((y/3.0)-((y%3.0)/3.0)))))),(len(stripZeroes(sudopoints[x][y]))==1 and sudogrid[x].__setitem__(y,sudopoints[x][y][0]))##  ##while isSolved(sudogrid)!=1:##    for x in range(0,9):##        for y in range(0,9):##            if(sudogrid[x][y]==0):##                sudopoints[x][y]=nonIntersect(nonIntersect(nonIntersect(basegrid,getColumn(x)),getRow(y)),getBox(int(3*((x/3.0)-((x%3.0)/3.0))),int(3*((y/3.0)-((y%3.0)/3.0)))))##                if len(stripZeroes(sudopoints[x][y]))==1: sudogrid[x][y]=sudopoints[x][y][0]    ##map(printAnswer,finalAnswers)##for x in range(0,9): sudogrid[x]=list( int(temp) for temp in raw_input().split(','))##for x in range(0,5): addAnswer(raw_input().split(','))##for x in range(0,5): addAnswer(raw_input().split(','))####sudogrid=[[0,5,0,0,1,0,0,4,0],##[1,0,7,0,4,0,6,0,2],##[0,0,0,9,0,5,0,0,0],##[2,0,8,6,3,0,5,0,1],##[0,4,0,0,7,0,0,2,0],##[9,0,1,0,8,0,4,0,6],##[0,0,0,4,0,1,0,0,0],##[3,0,4,0,5,8,7,0,9],##[0,2,0,0,6,0,0,1,0]]##finalAnswers=[]##temp=[[4,2],[4,8],[6,2],[3,5],[8,8]]##for x in temp:##    finalAnswers.append({"x":int(x[1])-1,"y":int(x[0])-1})