Advertisement
vfonic

Untitled

Jul 14th, 2015
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. r,s = map(int, input().split())
  2.  
  3. # mat = [r,s]
  4.  
  5. # ucitaj matricu
  6. # for i in range(0,r):
  7. #     mat[i] = input()
  8.  
  9. mat = [[1 if c == '#' else 0 for c in input()] for _ in range(r)]
  10. # mat = [map(lambda x: x == '#', input()) for _ in range(r)]
  11.  
  12. print(mat)
  13.  
  14. # izracunaj_rjesenje
  15. def izracunaj_rjesenje(x, y, trenutno_bacanje):
  16.     rj = 0
  17.  
  18.     # gore
  19.     i, j = x, y
  20.     for i in range(max(0, x-5), x):
  21.         if mat[i][j] != 0 and mat[i][j] != trenutno_bacanje:
  22.             mat[i][j] = trenutno_bacanje
  23.             rj += 1
  24.  
  25.     # dole
  26.     i, j = x, y
  27.     for i in range(x, min(x+5, r)):
  28.         if mat[i][j] != 0 and mat[i][j] != trenutno_bacanje:
  29.             mat[i][j] = trenutno_bacanje
  30.             rj += 1
  31.  
  32.     # livo
  33.     i, j = x, y
  34.     for j in range(max(0, y-5), y):
  35.         if mat[i][j] != 0 and mat[i][j] != trenutno_bacanje:
  36.             mat[i][j] = trenutno_bacanje
  37.             rj += 1
  38.  
  39.     # desno
  40.     i, j = x, y
  41.     for j in range(y, min(y+5, s)):
  42.         if mat[i][j] != 0 and mat[i][j] != trenutno_bacanje:
  43.             mat[i][j] = trenutno_bacanje
  44.             rj += 1
  45.            
  46.     return rj
  47. # end izracunaj_rjesenje
  48.  
  49. trenutno_bacanje = 1
  50. maks = 0
  51.  
  52. for i1 in range(0, r):
  53.     for j1 in range(0, s):
  54.         trenutno_bacanje += 1
  55.         # prva bomba i1, j1
  56.         prva_rj = izracunaj_rjesenje(i1, j1, trenutno_bacanje)
  57.        
  58.         for i2 in range(i1, r):
  59.             for j2 in range(j1+1, s):
  60.                 # druga bomba i2, j2
  61.                 druga_rj = izracunaj_rjesenje(i2, j2, trenutno_bacanje)
  62.  
  63.                 rj = prva_rj + druga_rj
  64.  
  65.                 if rj > maks:
  66.                     maks = rj
  67.                     broj_nacina = 1
  68.                 elif rj == maks:
  69.                     broj_nacina += 1
  70.  
  71. print(maks)
  72. print(broj_nacina)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement