Zespoły – omówienie zadania z II etapu Olimpiady Informatycznej Juniorów

Szczegółowe omówienie zadania Zespoły:

Link do powyższego omówienia zadania Zespoły: https://youtu.be/v_UzAyr1A-4?t=1986
Omówienie kodu zadania Zespoły: https://youtu.be/v_UzAyr1A-4?t=5818

Link do treści zadania Zespoły: http://www.usaco.org/index.php?page=viewproblem2&cpid=1038

Alternatywne omówienie zadania: https://youtu.be/m7F7atB-T0k

Link do treści zadania Zespoły:
https://szkopul.edu.pl/problemset/problem/WsCEgGZvejeElRDr0xT7Nwwf/site

Zadanie pochodzi z II etapu XV Olimpiady Informatycznej Juniorów.
https://szkopul.edu.pl/task_archive/oig/
By przejść do finału trzeba było uzyskać 110 punktów.  Czyli rozwiązać to zadanie i częściowo jakieś inne: https://youtu.be/v_UzAyr1A-4?t=10
Każde zadanie było punktowane od 0 do 100 punktów.

Zadanie Zespoły wymaga jedynie posortowania otrzymanej tablicy: https://youtu.be/v_UzAyr1A-4?t=4310
Warto startować w Olimpiadzie Informatycznej!
https://youtu.be/1qhkkV6YtE8?t=11


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 Olimpiad i konkursów informatycznych z podziałem na kategorie i rozwiązaniami:
https://oki.org.pl/lista-zadan-materialy.php
Samouczek – przygotowanie do Olimpiad i konkursów informatycznych:
https://oki.org.pl/tutorial/
Bezpłatne zajęcia przygotowujące do Olimpiady Informatycznej i Olimpiady Informatycznej Juniorów:
https://oki.org.pl/harmonogram-zajec/


Kod C++ programu "Zespoly", który jest omówiony w powyższym filmie i który otrzymuje 100%


#include <bits/stdc++.h>
using namespace std;

const int MAX_OSOB = 5e5 + 7;
int poziomy_uczestnikow[MAX_OSOB];

int main() {
 ios_base::sync_with_stdio(0);
 cin.tie(0);
 cout.tie(0);

 int liczba_uczestnikow, liczba_zespolow, i;

 cin >> liczba_uczestnikow;
 
 for (i=0; i<liczba_uczestnikow; ++i)
    cin >> poziomy_uczestnikow[i];

 sort (poziomy_uczestnikow, poziomy_uczestnikow+liczba_uczestnikow);

 liczba_zespolow = 0;
 for (i=2; i<liczba_uczestnikow; ) {
    if ( (poziomy_uczestnikow[i]-poziomy_uczestnikow[i-2]) <= 1 ) {
	   ++liczba_zespolow;
	   i = i+3;
	   continue;
	} 
    ++i;
 }
 
 cout << liczba_zespolow;
 
 return 0;
}
Kod C++ programu "Zespoly", który jest omówiony w powyższym filmie i który otrzymuje 100%

 

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz