Posts

Showing posts from September, 2020

10887 - Concatenation of Languages Solution Python

totalCase = int ( input ()) i = 1 while i <= totalCase: m, n = [ int (x) for x in input ().split()] mySet1 = set () for j in range (m): mySet1.add( input ().strip()) mySet2 = set () for j in range (n): mySet2.add( input ().strip()) mySet = set () for x in mySet1: for y in mySet2: mySet.add(x + y) print ( f"Case { i } : { len (mySet) } " ) i += 1

uva-10855 Rotated squares Solution in Python

while True : N , n = [ int (x) for x in input ().split()] if N == 0 and n == 0 : break arr = [[ '' ] * N for i in range (N)] arr0 = [[ '' ] * n for i in range (n)] arr90 = [[ '' ] * n for i in range (n)] arr180 = [[ '' ] * n for i in range (n)] arr270 = [[ '' ] * n for i in range (n)] for i in range (N): s = input () k = 0 for j in s: arr[i][k] = j k += 1 for i in range (n): s = input () k = 0 for j in s: arr0[i][k] = j arr90[k][n - 1 - i] = j arr180[n - 1 - i][n - 1 - k] = j arr270[n - 1 - k][i] = j k += 1 r1 , r2 , r3 , r4 = 0 , 0 , 0 , 0 for i in range (N - n + 1 ): for j in range (N - n + 1 ): t1 = [] for k in range (n): t1.insert(k , arr[i + k][j:j + n]) if t1 == arr0: r1 += 1

uva 10703 - Free spots Solution in Python

while True : w , h , n = [ int (x) for x in input ().strip().split()] if w == 0 and h == 0 and n == 0 : break ls = [] for i in range (h): ls.insert(i , [ 0 ] * w) result = w * h for i in range (n): x1 , y1 , x2 , y2 = [ int (x) for x in input ().strip().split()] if x1 > x2: x1 , x2 = x2 , x1 if y1 > y2: y1 , y2 = y2 , y1 x1 -= 1 y1 -= 1 for j in range (y1 , y2): for k in range (x1 , x2): if ls[j][k] == 0 : result -= 1 ls[j][k] = 1 if result == 0 : print ( "There is no empty spots." ) elif result == 1 : print ( "There is one empty spot." ) else : print ( f"There are { result } empty spots." ) input ()  

UVA-414 Machined Surfaces Solution in Python

while True : x = int ( input ()) if x == 0 : break minimum = 25 ls = [] for i in range (x): s = input ().strip() index1 = s.find( " " ) if index1 >= 0 : index2 = s.find( "X" , index1) delta = index2 - index1 ls.append(delta) if delta < minimum: minimum = delta else : ls.append( 0 ) minimum = 0 result = 0 for i in range (x): result = result + ls[i] - minimum print (result)