Wpis z mikrobloga

Witam szukam kogos kto wytlumaczylby mi zadanie. Za rok pisze mature z informatyki. Bede chcial ja rozwiazywac w pythonie.
Idzie mi calkiem niezle tylko mam problem z jednym zadaniem. A mianowicie 6.3 z matury 2017 roku. Oto one:
https://cke.gov.pl/images/_EGZAMIN_MATURALNY_OD_2015/Arkusze_egzaminacyjne/2017/formula_od_2015/informatyka/MIN-R2_1P-172.pdf
Nie mialem pojecia jak je rozwiazac. W internecie znalazlem jedno rozwiazanie:
--------------------------------------------------------------------
L=[]
for i in range(200):
L.append(list(map(int,input().split())))
print(L)
print(len(L))
sasiedzi=0
for y in range(200):
for x in range(320):
pos=0
if 0 128: pos=1
if x<319 and abs(L[y][x]-L[y][x+1]) > 128: pos=1
if 0 128: pos=1
if y <199 and abs(L[y][x]-L[y+1][x]) > 128: pos=1
sasiedzi+=pos
print(sasiedzi)
--------------------------------------------------------------------

Moglby ktos mi to "na chlopski rozum" rozpisac jak to wszystko dziala i jak znajduje te punkty? Bo strasznie sie gubie akurat w tym zadaniu
#python #programowanie
  • 11
  • Odpowiedz
@xbonio: Od niedawna na maturze jest dodatkowy plik ktory jest podobny do tego glownego pliku danych do zadania i wiesz jakie byloby rozwiazanie w jego przypadku.
Po prostu jest po to zeby wiedziec czy program ktory napisales jest prawidlowy. Bo jezeli z danymi z przykladu wyjdzie ci dobry wynik to z tymi prawdziwymi tez
  • Odpowiedz
@xverten: Masz sobie macierz i koordynaty na tej macierzy i,j. Porónujesz wartość abs(L[i][j]-L[i][j+1]) i jeśli jest większa to zwiększasz licznik. Tak samo robisz w drugim wymiarze abs(L[i][j]-L[i+1][j]). Teraz zastanów się kiedy musisz sprawdzać, żeby nei wyjść za tablicę. Najłatwiej narysuj sobie macierz na kartcę i prześledź co powinien ten program robić.
  • Odpowiedz