Szczegółowe omówienie zadania Kolejka:
Link do powyższego omówienia zadania Kolejka: https://youtu.be/b9Kvj81xIYk?t=1892
Link do treści zadania Kolejka: https://oki.org.pl/kolejka-zadanie/
–
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: https://oki.org.pl/harmonogram-zajec/
Informacje o zajęciach: https://oki.org.pl/newsletter.php
Warto startować w Olimpiadzie Informatycznej!
https://youtu.be/K7fZfJ8nN6A?t=109
–
Kod C++ programu implementującego kolejkę
–
/*
//class implementing queue in C++
//the same functionality as STL (Standard Template Library ) class queue in C++
//with usage example
//Version 1.5
Consists
a. Program template
b. defintion of class mqueue
c. Constructor
d. empty() method
e. push() method
f. dequeue() method
Author: Daniel Olkowski / Olimpijskie Kolo Informatyczne
*/
#include <iostream>
#include <vector>
using namespace std;
class mqueue {
public:
mqueue() {
first = last = -1;
}
bool empty() {
if (first == -1 )
return true;
return false;
}
void push(int value) {
if ( empty() == true ) {
elements.push_back(value);
first = last = 0;
return;
}
elements.push_back(value);
++last;
}
int dequeue() {
int value;
if ( empty() ) {
return value;
}
if ( first == last) {
value = elements[first];
first = last = -1;
elements.clear();
return value;
}
value = elements[first];
++first;
return value;
}
private:
vector<int> elements;
int first, last;
};
int main() {
mqueue payments;
int value;
cout << "empty?: " << payments.empty() << "\n";
payments.push(5);
payments.push(-3);
payments.push(8);
cout << "empty?: " << payments.empty() << "\n";
cout << "serviced: " << payments.dequeue() << "\n";
cout << "serviced: " << payments.dequeue() << "\n";
payments.push(11);
cout << "serviced: " << payments.dequeue() << "\n";
cout << "serviced: " << payments.dequeue() << "\n";
cout << "empty?: " << payments.empty() << "\n";
return 0;
}
Kod C++ programu implementującego kolejkę