From 92cb85e139f150d4560e3ddd777732d2f94bf1df Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Wed, 3 Mar 2021 12:24:13 +0100 Subject: Kolejne rzeczy --- Semestr 4/Pstwo/Wyklad 2.pdf | Bin 0 -> 3943486 bytes Semestr 4/aisd/Lista 0/Rozw L0.pdf | Bin 1964392 -> 1984913 bytes Semestr 4/aisd/Pracownia 1/pracownia1.pdf | Bin 0 -> 55846 bytes Semestr 4/aisd/Pracownia 1/rozw.cpp | 59 +++++++++++++++++++++++++++++ Semestr 4/rownania rozniczkowe/RR1R-02.pdf | Bin 0 -> 100435 bytes Semestr 4/rownania rozniczkowe/RR1R-03.pdf | Bin 0 -> 90514 bytes 6 files changed, 59 insertions(+) create mode 100644 Semestr 4/Pstwo/Wyklad 2.pdf create mode 100644 Semestr 4/aisd/Pracownia 1/pracownia1.pdf create mode 100644 Semestr 4/aisd/Pracownia 1/rozw.cpp create mode 100644 Semestr 4/rownania rozniczkowe/RR1R-02.pdf create mode 100644 Semestr 4/rownania rozniczkowe/RR1R-03.pdf diff --git a/Semestr 4/Pstwo/Wyklad 2.pdf b/Semestr 4/Pstwo/Wyklad 2.pdf new file mode 100644 index 0000000..df38730 Binary files /dev/null and b/Semestr 4/Pstwo/Wyklad 2.pdf differ diff --git a/Semestr 4/aisd/Lista 0/Rozw L0.pdf b/Semestr 4/aisd/Lista 0/Rozw L0.pdf index ab8362b..7472d55 100644 Binary files a/Semestr 4/aisd/Lista 0/Rozw L0.pdf and b/Semestr 4/aisd/Lista 0/Rozw L0.pdf differ diff --git a/Semestr 4/aisd/Pracownia 1/pracownia1.pdf b/Semestr 4/aisd/Pracownia 1/pracownia1.pdf new file mode 100644 index 0000000..2b99ba4 Binary files /dev/null and b/Semestr 4/aisd/Pracownia 1/pracownia1.pdf differ diff --git a/Semestr 4/aisd/Pracownia 1/rozw.cpp b/Semestr 4/aisd/Pracownia 1/rozw.cpp new file mode 100644 index 0000000..acbd711 --- /dev/null +++ b/Semestr 4/aisd/Pracownia 1/rozw.cpp @@ -0,0 +1,59 @@ +#include +using namespace std; +typedef long long ll; + +vector>> v; +const int MAX_LEN = 85; +int bits[100]; + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(); + int n; + cin >> n; + for (int i = 0; i < n; i++) { + int d, nd; + cin >> d >> nd; + int k = 0; + while (d % 2 == 0) { + d /= 2; + k++; + } + v.push_back({d, {k, nd}}); + } + sort(v.begin(), v.end()); + int result = 0; + + for (int i = 0; i < n; ) { + int h = i; + int d = v[i].first; + while (h < n && v[h].first == d) { + h++; + } + for (int k = 0; k < MAX_LEN; k++) + bits[k] = 0; + for (int j = i; j < h; ++j) { + ll x = (ll)(1LL << v[j].second.first) * (ll)v[j].second.second; + int k = 0; + while (x > 0) { + if (x % 2 == 1) { + bits[k]++; + } + x /= 2; + k++; + } + } + + for (int k = 0; k < MAX_LEN; k++) { + if (bits[k] > 1) { + bits[k + 1] += bits[k]/2; + } + if (bits[k] % 2 == 1) { + result++; + } + } + i = h; + } + + cout << result << "\n"; +} \ No newline at end of file diff --git a/Semestr 4/rownania rozniczkowe/RR1R-02.pdf b/Semestr 4/rownania rozniczkowe/RR1R-02.pdf new file mode 100644 index 0000000..7d1a845 Binary files /dev/null and b/Semestr 4/rownania rozniczkowe/RR1R-02.pdf differ diff --git a/Semestr 4/rownania rozniczkowe/RR1R-03.pdf b/Semestr 4/rownania rozniczkowe/RR1R-03.pdf new file mode 100644 index 0000000..22c3214 Binary files /dev/null and b/Semestr 4/rownania rozniczkowe/RR1R-03.pdf differ -- cgit v1.2.3