Kto wygra bitwę? – Omówienie zadania – Problem lidera

Kto wygra bitwę? – Omówienie zadania – Problem lidera

Szczegółowe omówienie zadania Kto wygra bitwę?:

Link do powyższego omówienia zadania Kto wygra bitwę? https://youtu.be/fyRxKSGxFLs?t=1865
Link do treści zadania Kto wygra bitwę? https://szkopul.edu.pl/problemset/problem/kwb/site

Zadanie “Kto wygra bitwę?” wymaga znalezienie lidera – elementu który występuje ponad połowę razy:
https://youtu.be/fyRxKSGxFLs?t=1883

Jak się uczyć na podstawie tego zadania? https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz: https://youtu.be/pkLXuuOe_qA?t=3625

Lista zadań z rozwiązaniami: https://oki.org.pl/lista-zadan-materialy.php
Samouczek – przygotowanie do Olimpiad: https://oki.org.pl/tutorial/

Zajęcia Olimpiada Informatyczna OD PODSTAW: https://oki.org.pl/olimpiada-informatyczna-od-podstaw/
Wszystkie zajęcia: https://oki.org.pl/harmonogram-zajec/
Informacje o zajęciach: https://oki.org.pl/newsletter.php


Kod C++ programu "Kto wygra bitwę?", który jest omówiony w powyższym filmie i który otrzymuje 100%


// WZORCÓWKA DO CAŁEGO ZADANIA (DZIAŁA NA 100PKT)

#include <iostream>
using namespace std;

int main() {

    cin.tie(0); ios_base::sync_with_stdio(false);
    int n, m, current_value = -1, count = 0;

    std::cin >> n >> m;

    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {

            int value; cin >> value;

            if(value == 0) continue; // Nie interesują nas puste pola!

            if(count == 0) {
                current_value = value; // To oznacza, że zaczynamy zliczać wystąpienia nowej wartości (bo sparowaliśmy cały poprzedni licznik)
            }

            if(value == current_value) count++; // Zwiększamy licznik, bo mamy kolejną wartość oczekującą na sparowanie z różną od siebie liczbą
            else count--; // Zmniejszamy licznik, bo możemy stworzyć nową parę

        }
    }

    cout << current_value << '\n';

}
Kod C++ programu "Kto wygra bitwę?", który jest omówiony w powyższym filmie i który otrzymuje 100%

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz