Szczegółowe omówienie zadania Hanging Rack:
Link do powyższego omówienia zadania Hanging Rack: https://youtu.be/tO1WjVAICMs?t=1257
Omówienie kodu który zadania Hanging Rack: https://youtu.be/tO1WjVAICMs?t=4360
Link do treści zadania Hanging Rack i możliwości umieszczania rozwiązań: https://oj.uz/problem/view/eJOI19_rack
–
Zadanie z EJOI – Europejskiej Olimpiady Informatycznej Juniorów! https://youtu.be/tO1WjVAICMs?t=15
–
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 Hanging Rack, który jest omówiony w powyższym filmie i który otrzymuje 100%
–
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int main()
{
ios_base::sync_with_stdio(0), cin.tie(0);
int n;
long long k;
cin >> n >> k;
--k;
int wynik = 1;
for (int i = 1; i <= n; ++i) {
if (k % 2 == 0)
wynik = ((long long)2*wynik) % MOD;
else
wynik = ((long long)2*wynik + 1) % MOD;
k /= 2;
}
int pow2 = 1;
for (int i = 1; i <= n; ++i)
pow2 = ((long long)2*pow2) % MOD;
cout << (wynik - (pow2 - 1) + MOD) % MOD << '\n';
return 0;
}
Kod C++ programu Hanging Rack, który jest omówiony w powyższym filmie i który otrzymuje 100%
–
Kod Python programu Milk Pails, który otrzymuje 100%:
MOD = 10**9 + 7 def solve(): n, k = map(int, input().split()) k -= 1 wynik = 1 for i in range(n): if (k % 2 == 0): wynik = (2*wynik) % MOD else: wynik = (2*wynik + 1) % MOD k //= 2; pow2 = 1 for i in range(n): pow2 = (2*pow2) % MOD print((wynik - (pow2 - 1)) % MOD) solve()