Hocam kodları python ile yazmaya çalıştım. Fazla test edemedim ama çalışıyor gibi. Umarım işinize yarar:
#-*- coding: UTF-8 -*-
from math import fmod
split = lambda t, s: [t[i:i+s] for i in range(len(t)-s + 1)]
def Combinations(t=(), x=1, y=1):
list = []
main = [[i for i in split(t[k], x)] for k in range(len(t))]
for i in range(len(main[0])):
for k in range(len(main)-y + 1):
gecici = []
for t in range(k, k+3):
gecici.append(main[t][i])
list.append(gecici)
return list
def Find(a, b):
max = Sort(a, b)[0]
min = Sort(a, b)[1]
combinations = Combinations(max, len(min[0]), len(min))
if min in combinations:
number = combinations.index(a) + 1
mod = len(max) - len(min) + 1
x = number / mod
y = int(fmod(number, mod))
if fmod(number , mod) != 0:
x += 1
if y == 0:
y = mod
return x, y
return 'Bulunamadı'
def Sort(a, b):
if len(a) > len(b):
return (a, b)
return (b, a)
if __name__ == '__main__':
a = [(9,2,1), (2,1,4), (5,6,9)]
b = [(7,5,4,8,2,4,6), (9,1,2,3,6,3,8), (6,4,5,6,9,2,1), (3,7,8,9,2,1,4), (0,1,7,8,5,6,9)]
raw_input( Find(a,b) )