Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- bool A, D, O, B, E;
- int M, P, Ast;
- int Rez;
- string S;
- inline void mark(int);
- inline void unmark(int);
- inline bool check();
- int main() {
- cin >> S;
- int n = S.size();
- if (n < 5) cout << "0";
- else {
- for (int i = 0; i < 5; ++i)
- mark(i);
- Rez += check();
- cout << "Sirul: ";
- for (int i = 0; i < 5; ++i)
- cout << S[i];
- cout << "\nCu check-ul: " << check() << "\n\n";
- int j = 0;
- for (int i = 5; i < n; ++i) {
- cout << "Sirul: ";
- for (int p = i - 4; p <= i; ++p)
- cout << S[p];
- cout << "\nCu check-ul: " << check() << "\n\n";
- unmark(j); j++;
- mark(i);
- Rez += check();
- }
- cout << Rez;
- }
- return 0;
- }
- inline void mark(int poz) {
- if (S[poz] == 'A' || S[poz] == 'a') A = true;
- if (S[poz] == 'D' || S[poz] == 'd') D = true;
- if (S[poz] == 'O' || S[poz] == 'o') O = true;
- if (S[poz] == 'B' || S[poz] == 'b') B = true;
- if (S[poz] == 'E' || S[poz] == 'e') E = true;
- if (S[poz] == '-') M++;
- if (S[poz] == '+') P++;
- if (S[poz] == '*') Ast++;
- }
- inline void unmark(int poz) {
- if (S[poz] == 'A' || S[poz] == 'a') A = false;
- if (S[poz] == 'D' || S[poz] == 'd') D = false;
- if (S[poz] == 'O' || S[poz] == 'o') O = false;
- if (S[poz] == 'B' || S[poz] == 'b') B = false;
- if (S[poz] == 'E' || S[poz] == 'e') E = false;
- if (S[poz] == '-') M--;
- if (S[poz] == '+') P--;
- if (S[poz] == '*') Ast--;
- }
- inline bool check() {
- bool a = A, d = D, o = O, b = B, e = E;
- int m = M, p = P, ast = Ast;
- cout << "\nValoriile sunt:\n";
- cout << a << ' ' << d << ' ' << o << ' ' << b << ' ' << e << ' ' << m << ' ' << p << ' ' << ast << "\n\n";
- if (a + m + ast == 0) return false;
- else if (a) a = false;
- else if (m) m--;
- else ast--;
- if (d + p + ast == 0) return false;
- else if (d) d = false;
- else if (p) p--;
- else ast--;
- if (o + m + ast == 0) return false;
- else if (o) o = false;
- else if (m) m--;
- else ast--;
- if (b + p + ast == 0) return false;
- else if (b) b = false;
- else if (p) p--;
- else ast--;
- if (e + m + ast == 0) return false;
- else if (e) e = false;
- else if (m) m--;
- else ast--;
- return true;
- }
- /// ebodaE+m***++
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement