Advertisement
vfonic

Untitled

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