Pyramid of Glasses – Omówienie zadania (Codeforces)

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)


Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz