doska = [[0 for i in xrange(8)] for i in xrange(8)]
def print_doska(doska): #doska dlya naglyadnosti
for i in doska:
print i
print '-------------------------------------'
print_doska(doska)
f = [[0,0],[0,0],[0,0]] #1 - korol 2- slon 3-tura
for i in xrange(3):
f[i][0] = input() #koordinata po gorizontali
f[i][1] = input() #po verticali
doska[f[i][0]][f[i][1]] = i + 1 #oboznochaem figuru, dlya naglyadnosti. na algoritm ne vliyaet
print_doska(doska)
def check_tura(f):
if f[0][0] == f[2][0]:
if (f[0][0]==f[1][0]) and ((f[0][1]<f[1][1]<f[2][1]) or (f[2][1]<f[1][1]<f[0][1])): return False
else: return True
elif f[0][1] == f[2][1]:
if (f[0][1]==f[1][1]) and ((f[0][0]<f[1][0]<f[2][0]) or (f[2][0]<f[1][0]<f[0][0])): return False
else: return True
else: return False
def check_officer(f):
if (f[0][0]-f[1][0]==f[0][1]-f[1][1]):
if (f[0][0]-f[2][0]==f[0][1]-f[2][1]):
if ((f[0][0]<f[2][0]<f[1][0]) and (f[0][1]<f[2][1]<f[1][1])) or \
((f[0][0]>f[2][0]>f[1][0]) and (f[0][1]<f[2][1]<f[1][1])) or \
((f[0][0]<f[2][0]<f[1][0]) and (f[0][1]>f[2][1]>f[1][1])) or \
((f[0][0]>f[2][0]>f[1][0]) and (f[0][1]>f[2][1]>f[1][1])):
return False
else: return True
else: return True
else: return False
#esli functsiyi vozvrashayut True - znachit korol' pod udarom
print 'Bjet tura - ', check_tura(f), ', bjet officer - ', check_officer(f)
за быдлокод не пинайть. вроде работает. разберешься сам ;)
подсказка:
1 - король
2 - слон
3 - тура
если разберешь исходник - поймёшь алгоритм