Skip to content

Instantly share code, notes, and snippets.

@sanketsudake
Created February 17, 2014 12:16
Show Gist options
  • Save sanketsudake/9049546 to your computer and use it in GitHub Desktop.
Save sanketsudake/9049546 to your computer and use it in GitHub Desktop.
class Conv:
def __init__(self):
# self.x_start = int(input())
# self.x_n = [ int(i) for i in raw_input().split(' ')]
# self.h_start = int(input())
# self.h_n = [ int(i) for i in raw_input().split(' ')]
self.x_start = 0
self.x_n = [1, 2, 3, 1]
self.h_start = 1
self.h_n = [1, 2, 1, -1]
def findrange(self):
self.x_max = len(self.x_n) - self.x_start
self.x_min = self.x_max - len(self.x_n)
self.h_max = len(self.h_n) - self.h_start
self.h_min = self.h_max - len(self.h_n)
self.x_max -= 1
self.h_max -= 1
print "X-range = (%d , %d)" %( self.x_min, self.x_max)
print "H range = (%d, %d)" %( self.h_min, self.h_max)
self.n_min, self.n_max = self.x_min + self.h_min, self.h_max + self.x_max
print "N range = (%d, %d)" %( self.n_min, self.n_max)
self.k_min, self.k_max = max(self.x_min, self.h_min), max(self.x_min, self.x_max)
print "Global K range = (%d, %d)" %( self.k_min, self.k_max)
def createindex(self):
self.x_index = range(self.x_min, self.x_max + 1)
self.h_index = range(self.h_min, self.h_max + 1)
self.n_index = range(self.n_min, self.n_max + 1)
self.k_index = range(self.k_min, self.k_max + 1)
# print "X", self.x_index
# print self.x_n
# print "H", self.h_index
# print self.h_n
# print "N", self.n_index
# print "K", self.k_index
def findval(self):
for n in self.n_index:
sum = 0
kvals = []
for k in self.k_index:
if (n - k) in self.h_index:
kvals.append(k)
sum += (self.x_n[k + self.x_start] * self.h_n[self.h_start + n - k])
print "k-range = (%d, %d) Y(%d) = %d " %( min(kvals), max(kvals), n, sum)
def main():
conv = Conv()
conv.findrange()
conv.createindex()
conv.findval()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment