# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
971578 | 2024-04-29T03:13:06 Z | nguyentunglam | Homework (CEOI22_homework) | C++17 | 8 ms | 8932 KB |
#include<bits/stdc++.h> #define all(v) v.begin(), v.end() #define endl "\n" using namespace std; const int N = 1e5 + 10; pair<int, int> st[N]; int t[N]; int operation[N]; int child[2][N], a[N], order[N]; bool dd[N]; int32_t main() { #define task "" cin.tie(0) -> sync_with_stdio(0); if (fopen("task.inp", "r")) { freopen("task.inp", "r", stdin); freopen("task.out", "w", stdout); } if (fopen(task".inp", "r")) { freopen (task".inp", "r", stdin); freopen (task".out", "w", stdout); } string str; cin >> str; int p; int id = 0, _id = 0; for(char c : str) if (c == '?') _id++; int n = _id; exit(0); for(int i = 0; i < str.size(); i++) { if (str[i] == 'm') { i += 3; st[++p] = make_pair(0, 0); t[p] = str[i - 1] == 'x'; // cout << str[i - 1] << " " << t[p] << endl; } else if (str[i] == '?') { ++id; if (st[p].first == 0) st[p].first = id; else st[p].second = id; } else if (str[i] == ')') { ++_id; assert(st[p].first && st[p].second); child[0][_id] = st[p].first; child[1][_id] = st[p].second; operation[_id] = t[p]; // cout << _id << " " << st[p].first << " " << st[p].second << " " << operation[_id] << endl; --p; if (st[p].first == 0) st[p].first = _id; else st[p].second = _id; } } auto dfs = [&] (auto self, int u) { if (u <= n) { a[u] = order[u]; return; } self(self, child[0][u]); self(self, child[1][u]); if (operation[u]) a[u] = max(a[child[0][u]], a[child[1][u]]); else a[u] = min(a[child[0][u]], a[child[1][u]]); }; for(int i = 1; i <= n; i++) order[i] = i; do { // for(int i = 1; i <= n; i++) cerr << order[i] << " "; cerr << endl; dfs(dfs, _id); dd[a[_id]] = 1; } while (next_permutation(order + 1, order + n + 1)); int ans = 0; for(int i = 1; i <= n; i++) ans += dd[i]; cout << ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 8932 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |