• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie 64.4 ze zbioru zadań CKE Python

Cloud VPS
0 głosów
88 wizyt
pytanie zadane 26 kwietnia w Python przez Wojo772233 Użytkownik (500 p.)
def policz_zle_wiersze(obraz):
    zle = 0
    kandydat_na_zly_nr_wiersza = -1
    for j in range(0, 20): # nr_wiersza (index)
        wiersz = obraz[j]
        ile_jedynek = 0
        ile_zer = 0
        for i in range(0, 20):
            znak = wiersz[i]
            if znak == '1':
                ile_jedynek += 1
            else:
                ile_zer += 1
        bit_parzystosci = wiersz[-1] #string
        if int(bit_parzystosci) != ile_jedynek % 2:
            if zle == 0:    # jesli to byl pierwszy zly, to zapamietaj kandydata
                kandydat_na_zly_nr_wiersza = j+1
            zle += 1

    return (zle, kandydat_na_zly_nr_wiersza) # {ilość złych, nr_1.złego_wiersza}

def policz_zle_kolumny(obraz):
    zle = 0
    kandydat_na_zly_nr_kolumny = -1
    for i in range(0, 20): # indeks kolumny
        ile_jedynek = 0
        ile_zer = 0
        for wiersz in obraz:
            znak = wiersz[i]
            if znak == '1':
                ile_jedynek += 1
            else:
                ile_zer += 1

        bit_parzystosci = obraz[-1][i] # na planszy
        if ile_jedynek % 2 != int(bit_parzystosci):
            if zle == 0:
                kandydat_na_zly_nr_kolumny = i+1
            zle += 1

    return (zle, kandydat_na_zly_nr_kolumny)

for i in range(0, len(dane)):
    nr_obrazu = i+1
    obraz = dane[i]
    ile_zlych_wiersz = policz_zle_wiersze(obraz) # idąc wierszem, bity w pionie
    ile_zlych_kolumna = policz_zle_kolumny(obraz) # idąc pionowo, bity w wierszu

    if ile_zlych_kolumna[0] == 1 and ile_zlych_wiersz[0] == 1: # 1
        # po jednej zlej w wierszu i jednej zlej w kolumnie
        print(f'({nr_obrazu}, {ile_zlych_wiersz[1]}, {ile_zlych_kolumna[1]})')
    elif ile_zlych_kolumna[0] == 0 and ile_zlych_wiersz[0] == 1: # 2
        print(f'({nr_obrazu}, {ile_zlych_wiersz[1]}, {21})')
    elif ile_zlych_wiersz[0] == 0 and ile_zlych_kolumna[0] == 1:
        print(f'({nr_obrazu}, {21}, {ile_zlych_kolumna[1]})')

Witam. Robię zadanie i plan mój po krótce jest taki że:

1 zły wiersz + 1 zła kolumna → trzeba zmienić piksel, 
1 zły wiersz tylko → trzeba zmienić bit na końcu wiersza, 
1 zła kolumna tylko → trzeba zmienić bit na dole kolumny to wszystko jest super.

Nie mogę znaleźć błędu. Moje odpowiedzi to:

(3, 1, 21)
(14, 1, 21)
(29, 2, 21)
(32, 21, 1)
(45, 21, 18)
(72, 21, 8)
(90, 21, 5)
(129, 21, 8)
(142, 19, 16)
(143, 7, 21)
(154, 7, 21)

natomaist ich "poprawne", to :

(14,1,15)
(19,4,20)
(26,21,13)
(29,2,8)
(33,15,21)
(115,21,14)
(116,21,13)
(129,21,14)
(131,10,7)
(143,7,15)
(154,7,7)
(161,21,17)
(162,21,16)
(187,21,18)

 

Proszę o pomoc i życzę miłej soboty. Pozdrawiam

komentarz 26 kwietnia przez adrian17 Mentor (354,120 p.)
Ale który zbiór zadań? Bo jest ich... dużo. Wrzuć linka po prostu :)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
2 odpowiedzi 1,023 wizyt
+1 głos
2 odpowiedzi 1,650 wizyt
pytanie zadane 14 lutego 2020 w Python przez MartinLenki Nowicjusz (130 p.)
0 głosów
0 odpowiedzi 841 wizyt
pytanie zadane 18 września 2022 w Python przez qwert 100 Obywatel (1,250 p.)

93,455 zapytań

142,450 odpowiedzi

322,719 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...