Szczegółowe omówienie zadania Pyramid of Glasses:
Link do powyższego omówienie zadania Pyramid of Glasses:
https://youtu.be/hVH-4EDGI6w?t=1310
Omówienie kodu zadania Pyramid of Glasses: https://youtu.be/hVH-4EDGI6w?t=3171
Link do treści zadania Pyramid of Glasses: https://codeforces.com/contest/676/problem/B
Zadanie Pyramid of Glasses wymaga jedynie zasymulowania procesu przelewania się wody.
Zadanie Pyramid of Glasses pochodzi z najpopularniejszej platformy programistycznej – Codeforces: https://youtu.be/Fe1SjCbc5iA?t=13
Pozwala stworzyć fantastyczne CV! https://youtu.be/Fe1SjCbc5iA?t=6439
–
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/
Bezpłatne zajęcia OKI: 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 Pyramid of Glasses, który jest omówiony w powyższym filmie i który otrzymuje 100%
–
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10 + 7;
const int POJEMNOSC = 1024;
int ileSzampana[MAXN][MAXN];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, t;
cin >> n >> t;
int wynik = 0;
ileSzampana[1][1] = t * POJEMNOSC;
for (int wiersz = 1; wiersz <= n; ++wiersz) {
for (int kolumna = 1; kolumna <= wiersz; ++kolumna) {
if (ileSzampana[wiersz][kolumna] >= POJEMNOSC) {
// ten kubek na pewno jest wypelniony
++wynik;
int nadwyzka = ileSzampana[wiersz][kolumna] - POJEMNOSC;
ileSzampana[wiersz + 1][kolumna] += nadwyzka / 2;
ileSzampana[wiersz + 1][kolumna + 1] += nadwyzka / 2;
}
}
}
cout << wynik << '\n';
return 0;
}
Kod C++ programu Pyramid of Glasses, który jest omówiony w powyższym filmie i który otrzymuje 100%
–
Kod Python programu Pyramid of Glasses, który otrzymuje 100%
MAXN = 10 + 7 POJEMNOSC = 1024 ileSzampana = [[0 for i in range(MAXN)] for i in range(MAXN)] n, t = input().split() n = int(n) t = int(t) wynik = 0 ileSzampana[0][0] = t * POJEMNOSC for wiersz in range(0, n): for kolumna in range(0, wiersz+1): if ileSzampana[wiersz][kolumna] >= POJEMNOSC: # ten kubek na pewno jest wypelniony wynik = wynik + 1 nadwyzka = ileSzampana[wiersz][kolumna] - POJEMNOSC ileSzampana[wiersz + 1][kolumna] += nadwyzka // 2 ileSzampana[wiersz + 1][kolumna + 1] += nadwyzka // 2 print(wynik)