diff options
author | Franciszek Malinka <franciszek.malinka@gmail.com> | 2021-10-05 21:49:54 +0200 |
---|---|---|
committer | Franciszek Malinka <franciszek.malinka@gmail.com> | 2021-10-05 21:49:54 +0200 |
commit | c5fcf7179a83ef65c86c6a4a390029149e518649 (patch) | |
tree | d29ffc5b86a0d257453cedcf87d91a13d8bf3b0d /Semestr 4/aisd/pracownia3/check.cpp | |
parent | f8a88b6a4aba1f66d04711a9330eaba49a50c463 (diff) |
Duzy commit ze smieciami
Diffstat (limited to 'Semestr 4/aisd/pracownia3/check.cpp')
-rw-r--r-- | Semestr 4/aisd/pracownia3/check.cpp | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/Semestr 4/aisd/pracownia3/check.cpp b/Semestr 4/aisd/pracownia3/check.cpp deleted file mode 100644 index c9c74d7..0000000 --- a/Semestr 4/aisd/pracownia3/check.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include <bits/stdc++.h> -using namespace std; - -int n, p, m; -int banned[103][3][3]; -int plane[5][10]; - -bool check(int k, int i, int pp) { - for (int kk = k; kk < k + 3; kk++) { - for (int ii = i; ii < i + 3; ii++) { - if (plane[kk][ii] != banned[pp][kk-k][ii-i]) - return false; - } - } - return true; -} - -void debug(int pp) { - for (int i = 0; i < 3; ++i) { - for (int j = 0; j < 3; ++j) { - cout << ((banned[pp][i][j] == 0) ? '.' : 'x'); - } - cout << "\n"; - } -} - -void debug() { - for (int k = 0; k < 5; ++k) { - for (int i = 0; i < n; ++i) { - cout << (plane[k][i] ? 'x' : '.'); - } - cout << "\n"; - } - cout << "\n"; -} - -int ile[1030]; - -int main() { - cin >> n >> p >> m; - for (int i = 0; i < p; i++) { - for (int k = 0; k < 3; k++) { - string s; - cin >> s; - for (int j = 0; j < 3; ++j) { - banned[i][k][j] = (s[j] == 'x'); - } - } - } - int res = 0; - for (int mask = 0; mask < (1<<(5 * n)); mask++) { - for (int k = 0; k < 5; ++k) { - for (int i = 0; i < n; i++) { - plane[k][i] = ((mask & (1 << (k * n + i))) > 0); - } - } - bool dziala = true; - for (int k = 0; k < 3; ++k) { - for (int i = 0; i < n-2; ++i) { - for (int j = 0; j < p; ++j) { - if (check(k, i, j)) { - dziala = false; - break; - } - } - if (!dziala) break; - } - if (!dziala) break; - } - if (dziala) { - res++; - if (res == m) { - res = 0; - } - int mm = 0; - for (int i = 0; i < 5; ++i) { - mm += plane[i][n-2] * (1<<(i*2)); - mm += plane[i][n-1] * (1<<(i*2 + 1)); - } - ile[mm]++; - } - } - for (int i = 0; i < 1024; ++i) { - cout << i << ": " << ile[i] << "\n"; - } - cout << res % m << "\n"; -}
\ No newline at end of file |